數據結構複習(8)——查找

順序查找

  1. 無序
    (1). ASL成功=(n+1)/2;
    (2). ASL失敗=n+1。
  2. 有序
    (1). ASL成功=(n+1)/2;
    (2). ASL失敗=n/2+n/(n+1)。(失敗結點有n+1個)

折半查找=二分查找(有序)

  1. 代碼演示:在這裏插入圖片描述
  2. ASL成功= log2的(n+1)+1;
  3. ASL失敗=(h層失敗結點的個數*h)/總結點個數。

分塊查找(塊內無序塊間有序)

在這裏插入圖片描述
在這裏插入圖片描述

B樹、B+樹在這裏插入圖片描述

在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

B與B+樹的增刪參考: https://segmentfault.com/a/1190000020416577

散列查找

  1. 散列函數、散列表、衝突的定義在這裏插入圖片描述
    在這裏插入圖片描述

  2. 構造散列函數的方法:在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

  3. 解決衝突的方法:
    (1). 開放地址法:
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述(2). 不能隨便刪除數,因爲別的數需要依靠其找到,可以添加一個刪除標記,但是要記得定期維護。
    (3). 拉鍊法:
    在這裏插入圖片描述
    在這裏插入圖片描述
    (6). 平均查找長度-坑位

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章