c 折半查詢演算法

2021-08-29 16:32:14 字數 621 閱讀 9007

何謂折半查詢,舉個例子很快就可以明白,給你了9個數 1 2 3 4 5 6 7 8 9 讓你去找2在**,這時候你肯定會說這太簡單了,但是計算機就沒那麼強了,它得拿著2和這9個數乙個乙個的比較,2在前面還好比較的次數比較小,但是如果讓你找6在哪呢,需要比較的次數就多了,可能你覺得多這一次兩次沒什麼差別,但是如果1到10000個數讓你找呢,這時候折半查詢的優勢就顯現出來了。我們先看2在不在1-5裡面也就是前半段,如果在前半段,我們直接不和後邊的數進行比較,我們確定2在1到5裡面之後,我們再用類似的辦法再去掉一半,看2在不在1到3麵裡,如果不在我們去3到5裡找,如此下去直到找到為止,我們會發現計算機最擅長幹的事就是迭代,而優秀的演算法就是讓計算機迭代的次數少一點。c++用**實現如下

#includeusing namespace std;

int main()

cout<>number;

sign=false;

top=0;

bott=n-1;

if((numbera[n-1]))

loca=-1;

while((!sign)&&(top<=bott))

return 0;

}

輸入十個已經排好序的數,然後進行查詢。

演算法 折半查詢(C )

recursive binary search by chimomo 折半查詢的前提 1 待查詢序列必須採用順序儲存結構。2 待查詢序列必須是按關鍵字大小有序排列。時間複雜度 o log2n namespace recursivebinarysearch console.writeline bina...

查詢演算法 折半查詢演算法

折半查詢演算法 binary search param a 乙個有序的集合 本次為由小到大 param x 需要查詢的值 ps 首先使用折半演算法的時候 集合必須是有序的 eg a 1,3,5,7,9 x 3 a mid low height 1,3,5,7,9 2 0 1 1,3 0 1 1 3 ...

查詢演算法 折半查詢

本小節知識點 1.掌握 基本思路 2.掌握 實現步驟 3.了解 練習 1.基本思路 在有序表中,取中間元素作為比較物件,若給定值與中間元素的要查詢的數相等,則查詢成功 若給定值小於中間元素的要查詢的數,則在中間元素的左半區繼續查詢 若給定值大於中間元素的要查詢的數,則在中間元素的右半區繼續查詢。不斷...