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

2021-10-04 00:05:13 字數 437 閱讀 5900

一、問題描述

寫出兩種檢索演算法:在乙個排好序的陣列t[1…n]中查詢x,如果x在t中,輸出x在t的下標j;如果x不在t中,輸出j=0.。

二、解析·:

1.順序查詢:遍歷資料元素

2.二分查詢:演算法原理:在查詢表中不斷取中間元素與查詢值進行比較,以二分之一的倍率進行表範圍的縮小。

三、**·設計

void

mian()

/*順序查詢*/

}void

main()

/*二分查詢*/

else

if(a[key]

>x)

else

}return-1

;}

四、時間複雜度

順序查詢:o(n)

二分查詢:o(log(n))

五、源**

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

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

演算法分析與實踐 作業3 檢索演算法

寫出兩種檢索演算法 在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0.順序查詢 是最簡單最暴力的查詢方法,就是從頭到尾遍歷陣列的過程。二分查詢 首先要求陣列是有序的。假設有乙個公升序排列的陣列,在該陣列中查詢元素 key。首先找出該陣列中最中間的元...

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

在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 01.順序查詢 從第乙個元素x開始逐個與需要查詢的元素key進行比較,當x key時返回x的下標,如果比較到最後都沒有找到,則返回j 0 2.二分查詢 不斷地將有序陣列進行對半分割,並檢查每個分割槽的中...