我最近一直在研究数据结构,并不断遇到" Bitwise Trie"&#39>
我知道如何运作,但我没有得到以下内容:
为了比较,一个简单的固定长度数组Trie的穷人实现看起来如下:
public class Node
{
Node[] _nodes = new Node[27]; // 26 = A-Z + NULL
public Node Next(char c)
{
if (c == '$')
return _nodes[26];
return _nodes[c - 'A'];
}
}
在'按位树'
中会出现类似的情况修改
关注@samsag评论,它正在计算前导零,而不是设置的位数!
1
"位有帮助。e.g。让我们说比如说
EOL = 000 (0 bits set)
A = 001 (1 bit set)
B = 010 (1 bit set)
C = 011 (2 bits set)
D = 100 (1 bit set)
E = 101 (2 bits set)
F = 111 (3 bits set)
当有太多冲突时,位计数如何帮助? 我需要执行什么样的算法/散列/按位操作才能利用位计数?