演算法分析與設計實驗三 檢索演算法設計

2021-10-03 23:56:52 字數 397 閱讀 4611

在乙個排好序的陣列t[1…n]中查詢x,如果x在t中,輸出x在t的下標j;如果x不在t中,輸出j=0
1.順序查詢:從第乙個元素x開始逐個與需要查詢的元素key進行比較,當x=key時返回x的下標,如果比較到最後都沒有找到,則返回j=0;

2.二分查詢:不斷地將有序陣列進行對半分割,並檢查每個分割槽的中間元素

//順序查詢核心偽**

for (每乙個元素x)

} if (flag == 0)

返回j=0;

//二分查詢核心**

while(1)

if(n==arr[(a+b)/2])

else if(n>arr[(a+b)/2])

else

演算法分析與設計作業三 檢索演算法

寫出兩種檢索演算法 在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0。1 順序查詢 從順序表的一端開始,依次將每個元素的關鍵字同給定值 k 進行比較,直到相等或比較完畢還未找到即結束。2 折半查詢 查詢過程是首先取整個有序表 a 0 a n 1 的...

演算法分析與設計 檢索演算法

在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0.樸素演算法 遍歷陣列t中的每乙個元素,當查詢到x時,停止查詢,輸出下標。二分查詢 因為當前的陣列t是排好序的,所以直接可以進行二分查詢,設定兩個變數,l,r l t 1 r t n 每次取mid l...

演算法分析與設計實踐 作業三 檢索

一 問題描述 寫出兩種檢索演算法 在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0.二 解析 1.順序查詢 遍歷資料元素 2.二分查詢 演算法原理 在查詢表中不斷取中間元素與查詢值進行比較,以二分之一的倍率進行表範圍的縮小。三 設計 void mi...