順序查找
- 無序
(1). ASL成功=(n+1)/2;
(2). ASL失敗=n+1。 - 有序
(1). ASL成功=(n+1)/2;
(2). ASL失敗=n/2+n/(n+1)。(失敗結點有n+1個)
折半查找=二分查找(有序)
- 代碼演示:
- ASL成功= log2的(n+1)+1;
- ASL失敗=(h層失敗結點的個數*h)/總結點個數。
分塊查找(塊內無序塊間有序)
B樹、B+樹
B與B+樹的增刪參考: https://segmentfault.com/a/1190000020416577
散列查找
-
散列函數、散列表、衝突的定義
-
構造散列函數的方法:
-
解決衝突的方法:
(1). 開放地址法:
(2). 不能隨便刪除數,因爲別的數需要依靠其找到,可以添加一個刪除標記,但是要記得定期維護。
(3). 拉鍊法:
(6). 平均查找長度-坑位