幾種常見的查詢演算法之比較

2021-07-11 23:40:28 字數 440 閱讀 3320

一、順序查詢

條件:無序或有序佇列。

原理:按順序比較每個元素,直到找到關鍵字為止。

時間複雜度:o(n)

二、二分查詢(折半查詢)

條件:有序陣列

原理:查詢過程從陣列的中間元素開始,如果中間元素正好是要查詢的元素,則搜素過程結束;

如果某一特定元素大於或者小於中間元素,則在陣列大於或小於中間元素的那一半中查詢,而且跟開始一樣從中間元素開始比較。

如果在某一步驟陣列為空,則代表找不到。

這種搜尋演算法每一次比較都使搜尋範圍縮小一半。

時間複雜度:o(logn)

三、雜湊表(雜湊表)

條件:先建立雜湊表(雜湊表)

原理:根據鍵值方式(key value)進行查詢,通過雜湊函式,定位資料元素。

時間複雜度:幾乎是o(1),取決於產生衝突的多少。

幾種常見的演算法比較

排序演算法總結 時間複雜度 平方階o n2 的排序 各類簡單排序 直接插入 直接選擇 氣泡排序 線性對數o nlg2n 排序 快速排序 堆排序和歸併排序 o n1 排 序 為介於0 1之間的常數 希爾排序 線性o n 排序 基數排序 桶排序 箱排序 空間複雜度 穩定性 特別注意 1.當輸入陣列有序或...

幾種查詢演算法的比較

1.堆的意義在於最快的找到最大最小值,在堆中插入乙個值,取走最大值或最小值重新構建堆結構,其時間複雜度為o log n 而其它方法至少為 o n 堆在實際中用途不在於排序,堆的應用 a.在於排程演算法中,比如優先順序排程,每次取優先順序最高的.b.可以採用堆構造優先順序佇列,優化dijstra 演算...

(4)STL演算法之比較

區間比較演算法 1 equal 該函式可以實現兩個容器物件的比較,如果兩個物件相等,函式返回true,只能比較屬於同一型別的不同變數。template bool equal inputiterator1 first1,inputiterator1 last1,inputiterator2 first...