什么时候可以在二进制搜索树上使用简单二进制树?

时间:2018-07-29 11:00:40

标签: data-structures binary-tree binary-search-tree

许多教程集中在二进制搜索树的实现上,并且搜索操作更容易。在某些应用程序或环境中,实现简单二进制树比BST更好吗?还是只是作为树木的入门概念而被教授?

1 个答案:

答案 0 :(得分:1)

当您的结构需要一个父级和最多两个子级时,可以使用二进制树(而不是二进制搜索树)。例如,考虑一棵树来表示数学表达式。表达式(a+b)*c变为:

                *
              /   \
             +     c
           /   \
          a     b

Paring heap是一种逻辑上为通用树的数据结构(即,对节点可以拥有的子代数没有限制),但是通常使用{{ 3}}。 LCRS二叉树通常比普通树更有效且更易于使用。

left-child right-sibling binary tree也是二叉树,但不是二叉搜索树。

旧的猜谜游戏是二叉树的另一个示例,在该游戏中,玩家回答一堆“是/否”问题以便得出答案。在下面的树中,左边的孩子是“否”答案,右边的孩子是“是”答案

                           Is it an animal?
                        /                    \
                 Is it a plant?          Is is a mammal?
                                         /            \
                                     A reptile?      A dog?

您可以想象一棵任意深度的树,每个级别都有问题。

这些只是几个例子。我发现二进制树在许多不同的情况下都很有用。