尝试和树木的区别?

我远程记得,尝试不存储整个数据每个节点,但只有后缀到父节点。

哪里树存储整个数据,但只基于前缀为基础组织自己。

所以试图变小,这可以压缩字典非常好。

那真的是唯一的区别吗?

从实际的应用程序,我记得尝试在范围查询更快? 甚至还有特殊的solr / lucene trie字段来加速范围查询。 可那是怎么回事?

实际的区别是什么?尝试和树有什么优点/缺点?

树是recursion节点的一般结构。 树有很多种。 stream行的是二叉树和平衡树 。 Trie是一种以前缀树,数字search树和检索树(因此命名为“trie”)为名的树。

每种树都有不同的目的,结构和行为。 例如,二叉树存储可比项目的集合(例如数字)。 因此,它可以用来存储一组数字,或者索引可以用数字表示的其他数据(例如可以被哈希的对象)。 它的结构被sorting,所以可以快速search到一个单一的项目。 其他树结构,如平衡树,原则上相似。

一个trie表示结构中的一个序列。 这是非常不同的,因为它存储值的序列,而不是单个的单个值。 recursion的每个级别都表示“input列表的项目I的值是多less”。 这与将单个search值与每个节点进行比较的二叉树不同。

二叉树bst通常用于存储数值。 bst中的时间复杂度是O(log(n)),用于插入,删除和search。 二叉树中的每个节点最多有2个子节点。

Trie :每个节点都由多个分支组成。 每个分支代表一个可能的密钥字符。 我们需要把每个关键字的最后一个节点标记为叶节点。 将使用trie节点字段值将节点区分为叶节点(值字段还有其他用途)

要了解有关尝试,请参阅topcoder教程。 https://www.topcoder.com/community/data-science/data-science-tutorials/using-tries/