在乙個排好序的陣列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+r)/2,判斷的t[mid]的值與x的大小關係,進行修改l或r的值,繼續二分查詢,直到找到位置。
樸素演算法:
for(int i=1;i<=n;i++)
}二分演算法:
while(l>1;
if(t[mid]樸素演算法o(n)。二分演算法o(logn)。
演算法分析與設計實驗三 檢索演算法設計
在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 01.順序查詢 從第乙個元素x開始逐個與需要查詢的元素key進行比較,當x key時返回x的下標,如果比較到最後都沒有找到,則返回j 0 2.二分查詢 不斷地將有序陣列進行對半分割,並檢查每個分割槽的中...
演算法分析與設計作業三 檢索演算法
寫出兩種檢索演算法 在乙個排好序的陣列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。一 順序查詢 順序查詢也稱為線性查詢,屬於無序查詢演算法,適用於儲存結構為順序結構或鏈式儲存的線性表。從資料結構線性表的一端開始,順序掃瞄,依次將掃瞄到的節點關鍵字與給定查詢的x...