兩種查詢方法

2021-10-22 20:32:23 字數 645 閱讀 5518

1.問題

寫出兩種檢索演算法:在乙個排好序的陣列t[1…n]中查詢x,如果x在t中,輸出x在t的下標j;如果x不在t中,輸出j=0.按實驗模板編寫,「分析」部分僅給出複雜度結果即可。

2.解析

[問題的理解和推導,可用電子版直接在此編寫,也可用紙筆推導,拍照嵌入本文件]

1.順序查詢,最簡單最經典的思路,從下標0開始,不斷與需要查詢的數字進行比較,最差n次比較就能得到結果。

2.二分查詢,因為是順序陣列,所以每次和中間那個數進行比較,如果需要查詢的數字比中間那個小,則再次與左半邊中間的數字比較,不斷重複,直到找到需要的數字或者沒有空間為止(left>right)

3.如果查詢的數字比中間大,則同理,在右邊查詢。

1.o(n)

2.o(log2(n))

int

ordersearch

(int arr,

int num)

}return0;

}int

halfsearch

(int arry,

int number)

if(left > right)

return0;

else

return half+1;

}

兩種優化查詢的方法

兩種優化表查詢的方法 1 表的查詢順序 針對多表查詢 oracle的解析器按照從右到左的順序處理from子句中的表名,因此from子句中寫在最後的表 基礎表 driving table 將被最先處理。在from子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表。當oracle處理多個表時...

兩種簡單的查詢方法

這兩種查詢方法是 順序查詢法,二分法查詢 順序查詢法 思想 簡單地說就是那那個要找的數挨個與陣列中的數比較 二分法查詢 首先二分法查詢要求要查詢的陣列中的數必須是經過排序的 思想 就是先找到陣列中中間的那個數與要查詢的數進行比較,如果中間的數大 中間的數小 就去取中間的數左邊 右邊 的那個陣列中的中...

兩種排序方法

題目描述 考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法 1.根據字串的字典序排序。例如 car carriage cats doggies koala 2.根據字串的長度排序。例如 car cats koala doggies carriage 考拉想知道自己的...