順序查詢和二分查詢

2021-07-25 18:33:21 字數 617 閱讀 9328

1、順序查詢

---- 又稱線性查詢,是從陣列的第乙個元素開始查詢,直到找到待查詢元素的位置。

順序查詢適合於儲存結構為順序儲存或鏈結儲存的線性表。使用for迴圈等實現。

int find(int a,int x)

} return index;

}

2、二分查詢

---- 二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能好。缺點是:要求待查表為有序表,且插入刪除困難。

因此折半查詢方法適用於不經常變動而查詢頻繁的有序列表。

首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功。否則利用中間位置記錄將表分成

前、後兩個子表,如果中間位置記錄的關鍵字大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表。重複以上過程,直到找到滿足

條件的記錄,即查詢成功。或直到子表不存在為止,此時查詢不成功。

//遞迴二分查詢

int bisearch(int data,int *p,int min,int max)

順序查詢和二分查詢

二分查詢 陣列裡查詢某個元素 search函式 其中 array為陣列,k為要找的值,low為查詢範圍的最小鍵值,high為查詢範圍的最大鍵值 function search array,k,low 0,high 0 if low high 如果還存在剩餘的陣列元素 elseif k array m...

順序查詢和二分查詢

問題 寫出兩種檢索演算法 在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0.解析順序查詢 在乙個線性表中,按照從前往後或者從後往前的順序依次查詢,如果查詢到關鍵字和給定值相等,則返回給定值的位置,查詢成功 如果查詢值最後乙個元素仍未找到,則查詢失敗...

順序查詢和二分查詢

1.使用php描述順序查詢和二分查詢 也叫做折半查詢 演算法,順序查詢必須考慮效率,物件可以是乙個有序陣列 2.順序查詢 n為待查詢的陣列元素的個數,k為待查詢的元素 function seq sch array,n,k if i n 判斷是否到陣列的末尾 else array array 3,6,...