有序表上的二分查詢

2021-08-30 18:45:54 字數 391 閱讀 5556

基本思想:

在乙個查詢區間中,確定出查詢區間的中心位置,用待查詢資料元素的關鍵字和中心位置上資料元素的關鍵字比較,若兩者相等則查詢成功;否則若前者小於後者,則把區間定為原查詢區間的前半段,繼續這樣的過程;否則若前者大於後者,則把查詢的區間定為原查詢區間的後半段,繼續這樣的過程.這樣的查詢過程一直進行到查詢區間的上界小於查詢區間的下界為止.由於二分查詢演算法每次比較後都把查詢區間折半,所以該演算法也稱做折半查詢演算法.

迴圈結構的二分查詢:

// 在有序表a[0]--a[n-1]中二分查詢關鍵碼為key的資料元素,

// 查詢成功時返回該元素的下標序號;失敗時返回-1

int bisearch(int a,int n,int key)

有序表的二分查詢

問題描述 經典演算法 有序表的二分查詢 程式 include define size 10 csdn學院 2016級 目的 讓 見證成長 作為乙個初學的菜鳥,如 檔名稱 myfun150.c 問題描述 經典演算法 有序表的二分查詢 完成日期 2017年4月23日 int main int key,l...

二分查詢有序陣列

對於乙個有序字串陣列,用二分法查詢某一字串是否存在於該字串陣列中。函式原型為 bool binarysearch const vector array,const string target 注意這裡的有序指的是字典序,如字串陣列 a,ab,ac,bc,cd,d 就是有序字串陣列,而 a,b,ab ...

有序陣列的二分查詢

給出乙個有序陣列 公升序 以及指定的數值。返回指定數值在陣列中的下標 若不存在則返回 1 在傳入的公升序陣列arr中查詢是否有元素值與給定的number相等。param arr 有序陣列 公升序 param number 指定的數值 return 指定數值在該陣列中的下標值。返回 1表示不存在 st...