精典演算法之二分查詢法

2021-09-06 11:54:49 字數 1018 閱讀 5368

二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好;其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。

二分查詢法是已經排好順序的集合,要從集合的中間開始查詢,如果這個項小於我們要查詢的數,則這個項前邊的所有數都小於我們要查詢的物件

就無需再浪費時間去查在前邊的數查詢;如果搜尋的數天於我們要查詢的物件那麼這個數的後邊的數都大於我們要查詢的物件,則後邊的數我們也不用再去查詢了。

下邊我會用c#和c++兩種語言給出**

c#二分查詢**

static void main(string args)

;int _findvalue = binsearch(_array, 0, _array.length, 3);

if (_findvalue == -1)

else

console.readline();

}static int binsearch(int _array, int start, int end, int key)

else if (key > _array[mid])

else

return mid;

}return -1;

}

c++二分查詢**

int binsearch(const int* array,int start,int end,int key)

else if(key > array[mid])

else

return mid;

} return -1;

}int main(int argc,char* argv)

; int _findint =binsearch( _array,0,(sizeof _array)/(sizeof _array[0]),3);

if(_findint == -1)

else

return 0;

}

演算法之二分查詢法

二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位置記錄將表分成前 後...

演算法之二分查詢法

所謂的二分查詢法,就是對於乙個有序列表,通過每次取中間值來判斷是否為所要查詢的數值。比如我們聚會時玩的猜數字遊戲,0到100之間猜乙個數值,有兩種方法 一是我們可以乙個乙個的去猜,但是這樣比較耗時,效率低 其次就是二分法,第一次取中間值50,對方會告訴你高了或者低了,若高了,繼續取0到49的中間值2...

演算法之二分查詢法

1.什麼是二分查詢法 二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間...