1. 程式人生 > >Java中的二分法

Java中的二分法

技術分享 到你 索引 找到你 ont 返回 family search alt

BinarySearch

二分法查找,顧名思義就是要將數據每次都分成兩份然後再去找到你想要的數據,我們可以這樣去想,二分法查找很類似與我們平時玩的猜價格遊戲,當你報出一個價格時裁判會告訴你價格相對於真實值的高低,倘若是低了那我們一定會再說出一個略高的價格,反之亦然。在二分法查找時要求傳入的數據必須已經有序,假設現在為升序,然後每次將所尋找的值與中間值(數組左邊界+(右邊界-左邊界)/2)作比較,大了則去尋找中間值左側數據,小則尋找中間值右側數據。

算法:當數據量很大適宜采用該方法。采用二分法查找時,數據需是有序不重復的。

假設有一個數組 { 12, 23, 34, 45, 56, 67, 77, 89, 90 },現要求采用二分法找出指定的數值並將其在數組的索引返回,如果沒有找到則返回 -1。

技術分享圖片

Java中的二分法