我目前在學期末附近的數據結構課程中,並且已經分配了一個項目,我們正在實施鏈接哈希表來存儲和檢索密鑰。我們已經被賦予了相當大的自由度,我們將如何設計我們的哈希表實現,但是對於獎勵要點,我們被告知要嘗試找到一個散列函數,它將我們的密鑰(唯一字符串)一致且隨機地桌子。試圖散列字符串統一的哈希表?
我已經選擇了使用ELF散,看到這裏http://www.eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx
我的問題是:有了這個哈希函數返回一個整數,但我無法看到這是如何用於幫助指定將我的密鑰放入散列表中。我可以簡單地這樣做:index = ELFhash(String key)%tableSize,但是這是否會破壞首先使用ELF哈希的目的?
此外,我選擇了我的衝突解決策略爲雙重哈希。有沒有一種很好的方法來確定一個合適的二次哈希函數來查找跳轉?我的哈希表不會是一個常量大小(字符串集將被添加並從我哈希的數據集中刪除,我將在每次添加和刪除迭代之後重新哈希它們以使負載因子爲.75 ),所以我很難做出像k%n這樣的事情,其中n是一個與我的表格大小相對的數字。
感謝您花時間閱讀我的問題,並讓我知道您的想法!