《算法》笔记 14 - 单词查找树
R向单词查找树 数据结构 查找 插入 查找所有键 通配符匹配 最长前缀 删除 R向单词查找树的性质 三向单词查找树 三向单词查找树的性质 同字符串的排序一样,利用字符串的性质开发的查找算法也比通用的算法更有效,这些算法可以用于在以字符串作为被查找键的场合。这类算法在面对巨量的数据时,仍然可以取得这样的性能:查找命中所需的时间与被查找的键的长度成正比;而查找未命中时只需检查若干个字符。这样的性能是相当惊人的,也是算法研究的最高成就之一,这些算法成了建成现在能够便捷、快速地访问海量信息所依赖的基础设施的重要因素。 R向单词查找树 数据结构 单词查找树(Trie)是用于字符串键查找的数据结构。与之前的查找树类似,它也是由链接的结点所组成的数据结构,这些链接可能为空,也可能指向其他结点。 结点的数据结构为: private static class Node { private Object val; private Node[] next = new Node[R]; } 每个节点都只有一个或0个指向它的结点(父结点),只有根结点不会有父结点。每个节点都含有R条链接,R为字母表的大小,如果字符都由26个小写英文字母构成,则R为26;如果字符属于ASCII字符集,则R=128;DNA研究中用4个字母表示4个碱基,R=4。 R条链接对应可能出现的字符,这其中会有大量的空链接