[問題] 找hash function的問題

看板Prob_Solve (計算數學 Problem Solving)作者 (好怕自己的未來...)時間16年前 (2008/11/19 23:13), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
假如現在有一串20 bit長的資料 裡面有10個是1 10個是0 ex:01111000011000101101 等等之類的 我想建一個hash table 如果直接拿資料的值來當位址的話 就需要2^20個entry 可是這樣很多的空間就都被浪費了 如果用ㄧ般的mod 或者其他hash function又會有碰撞的情況 想請問各位 有沒有什什麼好的hash function 或者編碼的方法 可以使用較少的記憶體又不會有碰撞的情況發生 感謝~~~ -- Everything is allright Tomorrow"ll be fine -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.136.80

11/20 00:51, , 1F
hash 就是拿空間換時間呀~ 不然用 C(20,10)=184756 encode
11/20 00:51, 1F

11/20 00:52, , 2F
一般 hash collision 就是用 chain 或是向後 shift 來解決
11/20 00:52, 2F

11/21 11:58, , 3F
如果不考慮執行效率,你可以用 CRC 當 hash value
11/21 11:58, 3F

11/21 11:59, , 4F
如果知道資料特性的話,可以量身打造
11/21 11:59, 4F

11/23 20:02, , 5F
3q~~~
11/23 20:02, 5F
文章代碼(AID): #1992qqHi (Prob_Solve)
文章代碼(AID): #1992qqHi (Prob_Solve)