#include
/*分治策略
設a[low...high]是當前的查詢區間,首先確定該區間的中點位置mid=[(low+high)/2];然後將待查的k值與
a[mid].key比較
1.若k=a[mid],則查詢成功並返回該元素的物理下標
2.若ka[mid],則要查詢的k必定位於右子表a[mid+1...high]中,即新的查詢區間是右子表
*/int
binsearch
(int a,
int low,
int high,
int k)
;//折半查詢演算法
intmain()
; i =
binsearch
(a,0
, n-
1, k);if
(i >=0)
printf
("a[%d]=%d\n"
, i, k)
;else
printf
("未找到%d元素\n"
分治演算法 折半查詢法
二分查詢演算法根據邊界情況不同,一般可分為兩種情況,一中是左閉右開區間,類似於 left,right 一種是左閉右閉區間,在非遞迴二分中,必須遵守一定的區間規則,否則會造成程式錯誤,即區間不能夠重複。思路 假設目標值在閉區間 l,r 中,每次將區間長度縮小一半,當l r時,我們就找到了目標值。題目描...
折半查詢法
折半查詢法 include include int binsearch int x,int v,int n return 1 int main scanf d x scanf d n x 2 n 7 position binsearch x,v,n 呼叫函式時,不要再引數的型別,陣列v,用v代替就好...
折半查詢法
輸出檔案 輸出檔案 half.in half.out 大魔導師培根曾經說過 讀史使人明智,讀詩使人聰慧,演算使人精密,哲理使人深刻,倫理學使人有修養,邏輯修辭使人善辯。由此可見書籍的重要性是不言而喻的。而與書籍天天打交道的圖書管理員,更是奪天地之造化,吸日月之精華的 神之職業 據史料記載,魔法世界從...