我记得尝试不存储每个节点的全部数据,只存储父节点的后缀。
树确实存储了整个数据,但仅根据前缀组织自身。
因此尝试变得更小,这使得例如可以很好地压缩字典。
这真的是唯一的区别吗?
从实际应用程序中我记得尝试在范围查询中更快。甚至还有特殊的 solr/lucene trie 字段来加速范围查询。但怎么会这样呢?
尝试和树的实际区别是什么?优点和缺点是什么?
树是递归节点的一般结构。树木有很多种。受欢迎的有二叉树 http://en.wikipedia.org/wiki/Binary_tree and 平衡树 http://en.wikipedia.org/wiki/B-tree. A Trie http://en.wikipedia.org/wiki/Trie是一种树,有许多名称,包括前缀树、数字搜索树和检索树(因此称为“trie”)。
每种树都有不同的用途、结构和行为。例如,二叉树存储可比较项(例如数字)的集合。因此,它可以用来存储一组数字,或者索引可以用数字表示的其他数据(例如可以散列的对象)。它的结构经过排序,因此可以快速搜索以查找单个项目。其他树结构,例如平衡树,原理上类似。
A trie http://en.wikipedia.org/wiki/Trie表示其结构中的序列。它的不同之处在于它存储值序列而不是单个值。每个递归级别都表示“输入列表中第 I 项的值是多少”。这与二叉树不同,二叉树将单个搜索值与每个节点进行比较。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)