Chapter 5 查詢

糖醋麻辣蝦發表於2018-03-25

Chapter 5 查詢

1-   順序查詢法 O(n)

    

2-   折半查詢O(logn) :二分查詢

      要求:關鍵字有序

      過程:

      判定樹:葉子結點為方框,代表不成功的結點。

3-   分塊查詢:索引順序查詢

     

       ASL = ASL1+ASL2

4-   二叉排序樹(BST)

      特點:左<根<右

5-   平衡二叉樹(AVL)

6-   B-樹(B數)

      特點:

      1      分支數 = 關鍵字數 + 1,最大分支數就是B樹的階數

      2      根結點至少有1個關鍵字,兩個分支

              其餘結點至少有 個分支, -1個關鍵字

      3      結點內關鍵字互不相等按從小到大順序排列

      4      葉結點處於同一層,是查詢失敗到達的位置(計算結點數時要算上)

      5      下層結點的關鍵字取值在上層所劃分割槽間內

     基本操作:

      1      查詢:多路查詢

      2      插入:可能引起拆分,多次拆分叫連鎖反應

      3      刪除:直接刪,不夠找兄弟借,再不夠合併

7-   B+

      B-樹和B+樹的區別:(先B+,後B-)

      1         B+樹:n個關鍵字n個分支

                 B-樹:n個關鍵字n+1個分支

      2         關鍵字個數:  ≤n≤m      -1≤n≤m-1

                 根結點個數:  2≤n≤m          1≤n≤m-1

      3         B+樹:非葉子結點只是個索引,不包含關鍵字對應記錄的儲存地址

                 B-樹:每個關鍵字對應一個記錄的儲存地址

                 B+樹:葉子結點包含資訊和全部關鍵字,葉子結點引出的指標指向記錄

                 B+樹:有一個指標指向關鍵字最小的葉子結點,所有葉子結點連結成一個線性連結串列

8-   雜湊表(雜湊表)

      H(key) ---- 雜湊地址

      發生衝突----同義詞

      Hi(key)----解決衝突後的地址

      查詢成功的ASL1 = 每個關鍵字的比較次數

      查詢失敗的ASL2 = 由該地址開始到空地址為止進行比較操作的次數

      常見Hash函式構造方法:除留取餘法

      常見解決衝突方法:

      1        開放定址法:包括線性探查法等…

      2        鏈地址法:

      效能分析:α(裝填因子) = 關鍵字個數/表長

      Hash表的ASL與α有關,與關鍵字無關。

注:

1        順序表查詢優點是順序/鏈式均可,缺點是n較大時,ASL大,效率低

2        折半查詢適合順序,不適合鏈式,且要求有序

 

相關文章