2014-11-22 68 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; }