1. 程式人生 > >課堂練習——Hash 20162305

課堂練習——Hash 20162305

logs 開放 csdn 解決 尋址 實現 函數 .net 設計

課堂練習——Hash 20162305

課堂練習要求

  • 利用除留余數法為下列關鍵字集合的存儲設計hash函數,並畫出分別用開放尋址法和拉鏈法解決沖突得到的空間存儲狀態(散列因子取0.75)
    關鍵字集合:85,75,57,60,65,(你的8位學號相加值20162305-19),98,74,89,12,5,46,97,13,69,52,92

題目解析

  • 想要做好這個題,先要弄清楚開放尋址法和拉鏈法的原理。拉鏈法相對簡單,拉鏈法的關鍵是將所有關鍵字為同義詞的結點鏈接到同一個單鏈表中。對於除數取余法,就是將除數相同的元素存在同一個單鏈表中去。
  • 開放尋址法,在散列表中形成一個探查序列,沿此序列逐單元進行查找,直到找到一個空的單元時將新結點放入。對於沖突的元素,進行增量處理再取余,直到找到下一個空位置放入。

實現過程

  • 技術分享圖片
  • 技術分享圖片

參考博客

  • java 解決Hash(散列)沖突的四種方法--開放定址法(線性探測,二次探測,偽隨機探測)、鏈地址法、再哈希、建立公共溢出區

課堂練習——Hash 20162305