1. 程式人生 > >鏈地址法和線性探測法求查詢成功與不成功的平均查詢長度ASL

鏈地址法和線性探測法求查詢成功與不成功的平均查詢長度ASL

一、鏈地址法在等概率下查詢成功和查詢不成功的平均查詢長度:

將關鍵字序列{1 13 12 34 38 33 27 22} 雜湊儲存到散列表中。雜湊函式為:H(key)=key mod 11,處理衝突採用鏈地址法,求在等概率下查詢成功和查詢不成功的平均查詢長度

1mod11=1,所以資料1是屬於地址1
12mod11=1,所以資料12也是屬於地址1(這個資料是資料1指標的另一個新資料)
34mod11=1,所以資料34是屬於地址1(這個資料是資料12指標的另一個新資料)
38mod11=5,所以資料38是屬於地址5
33mod11=0,所以資料33是屬於地址0
27mod11=5,所以資料27是屬於地址5,(這個資料是資料38指標的另一個新資料)
22mod11=0,所以資料22是屬於地址0,(這個資料是資料33指標的另一個新資料)

鏈地址法處理衝突構造所得的雜湊表如下:
這裡寫圖片描述

查詢成功時: ASL=(3×1+2×3+1×4)/8=13/8, 其中紅色標記為查詢次數。也就是說,需查詢1次找到的有4個,其它以此類推…

查詢不成功時:ASL=(3+4+2+1+1+3+1+1+1+1+1)/11=19/11;或者 ASL=(7×1+1×2+2×3+1×4 )/11=19/11,其中紅色標記為查詢次數。以第一個3為例,其對應於0地址位,確定查詢不成功需比較3次,其它以此類推…

二,線性探測再雜湊法處理衝突

對於這部分,個人覺得有人整理的比較好,很有條理,很清晰,可以借鑑一下,連結如下:
線性探測再雜湊法處理衝突