我想知道二叉树的具体应用是什么。你能举几个例子吗?


当前回答

主要应用是二叉搜索树。这是一种数据结构,其中搜索、插入和删除都非常快(大约log(n)次操作)

其他回答

java.util.Set的实现

使用二叉树表示AST的编译器可以使用已知的算法 解析树像海报,有序。程序员不需要提出自己的算法。 因为源文件的二叉树比n元树高,所以构建它需要更多的时间。 以这个生产为例: selstmnt:= "if" "(" expr ")" stmnt "ELSE" stmnt 在二叉树中,它将有3层节点,但n-ary树将有1层(子节点)

这就是为什么基于Unix的操作系统很慢的原因。

BST是一种二叉树,在Unix内核中用于管理一组虚拟内存区域(vma)。

它们可以作为一种快速排序数据的方法。在O(log(n))处将数据插入二叉搜索树。然后遍历树,对它们进行排序。

在现代硬件上,由于糟糕的缓存和空间行为,二叉树几乎总是次优的。这也适用于(半)平衡的变种。如果您发现了它们,则说明性能不重要(或由比较函数主导),或者更可能是由于历史或无知的原因。