二进制搜索树混淆(最佳情况)

时间:2014-06-10 13:42:03

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

我目前正在攻读考试,其中一个我很困惑的问题是:

给出密钥A X C S E R H的5个排序,当插入初始空BST时,产生最佳案例树。假设词典/字母顺序。

答案如下:

以下是一些可能的说明......

H C A E S R X

H C A E S X R

H C E A S R X

H C E A S X R

H C E S A R X

我想知道是否有人可以就“H”对根节点的看法做些澄清?从我目前的理解,我认为'A'将是根。我想我需要澄清如何获得BST的最佳案例树。如果有人能帮助我理解这一点,我将非常感激。

2 个答案:

答案 0 :(得分:9)

您的第一个条目将是您的根。在那之后,在你的根之前出现的任何东西(在这种情况下按字母顺序排列)将向左移动;之后会出现在右边。

每一个都会生成一棵树,可以按字母顺序从左下角到右下角进行追踪。

enter image description here

正如您所看到的,这会生成一个树,可以从左下方向上读取(在继续向上之前从父级探索每个分支)以创建字母序列

答案 1 :(得分:3)

如果A是根节点,那么所有节点都在它的右边,那么你就不会有树的优势,你会有更多的东西类似于链表。要使树成为最佳案例树,您希望从根节点左右节点的数量是相似的数字,即树的深度将如何变小,您将变得更好性能

相关问题