輸入:
t(有序表中數的個數)
輸入t個數,按照大小順序輸入
key輸入需要查詢的數
輸出:如果有這個數則輸出這個數在有序表中是第幾個,否則輸出no!
input:
1 16 24 35 47 59 62 73 88 99
output:
no.7
#include#includeint binary_search(int *a,int n,int key)
return 0;
}int main()
scanf("%d",&key);
if(!binary_search(a,t,key))
printf("no!\n");
else
printf("no.%d\n",binary_search(a,t,key));
return 0;
}
折半查詢 有序表的查詢
平均查詢長度 logn typedef int keytype typedef structsstable int search bin sstable st,keytype key return 0 int main int argc,char argv printf nplease input ...
有序表的靜態查詢演算法 折半查詢
今天在看到資料結構 靜態表的查詢的時候,看到乙個演算法挺有意思,理解也 比較容易。這是乙個有序表的查詢演算法,比如 2,3,4,5,11,22,23,44,55,57,88 這樣的有序結構。折半查詢 binary search 的過程 先確定帶查記錄所在的範圍或者區間,然後逐步縮小範圍,直到找到或者...
折半查詢法(有序陣列)
在有序陣列中查詢時 從陣列的中間元素開始查詢,如果中間元素正好是要查詢的元素,則搜尋過程結束,如果所找元素大於 小於 中間元素,則在陣列大於 小於 中間元素的那一半中查詢,每一次跟開始一樣從中間元素開始比較。如果在某一步驟陣列為空,則代表找不到。這種搜尋演算法每一次比較都使搜尋範圍縮小一半,相對於遍...