首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

散列表線性探測法與鏈地址法平均查找長度(ASL)計算實例

     編輯:程式設計綜合問答

題目參數

  • 表長 m=8,哈希函數 H(key)=key % 7。
  • 關鍵字序列:(25, 31, 8, 27, 13, 68)。

插入過程

KeyH(key)線性探測位置鏈地址位置
25444
31333
8111
27666
1367 (衝突→+1)6→鏈表次節點
68555

ASL 計算 (等概率查找)

成功查找 ASL = Σ(查找次數) / n

  • 線性探測:25(1)+31(1)+8(1)+27(1)+13(2)+68(1) = 7 → **7/6 ≈ 1.167**
  • 鏈地址:25(1)+31(1)+8(1)+27(1)+13(2)+68(1) = 7 → **7/6 ≈ 1.167**

結論

本例中僅 13 與 27 衝突 (H=6),兩種解決衝突方法導致的額外比較次數相同,**ASL 均為 7/6**。答案給的鏈地址 4/3 有誤 (可能漏算了 13 的第二次比較)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved