2014-11-22 72 views
-1

我應該創建一個字典Trie並使用節點。我需要將它們存儲在散列表中。我需要創建一個散列函數來將節點放置在正確的位置。我如何將字符串轉換爲散列函數中的整數?基於Trie的實現的散列函數

+0

http://stackoverflow.com/questions/5585779/converting-string-to-int-在Java的。你應該先詢問一下...... – 2014-11-22 21:18:01

+0

散列函數String有什麼問題? – 2014-11-22 22:33:13

回答

0

一個常見的哈希例子雖然不一定是好的例子,但它取得了字符串中每個字符的ascii值的總和,以哈希表的大小爲模。

0

你可以試試卡丁車。它使用巧妙的密鑰交替算法來隱藏二叉樹中的trie數據結構:http://code.dogmap.org/kart/

位置pos長度klen的密鑰k的翻譯位可以被計算爲:

unsigned int bit(size_t pos, unsigned char const* k, size_t klen) { if (pos/(CHAR_BIT+1)>=klen) return 0; if (pos%(CHAR_BIT+1)==0) return 1; return (((unsigned int)k[pos/(CHAR_BIT+1)])>>(CHAR_BIT-pos%(CHAR_BIT+1)))&(unsigned int)1; }