我目前正在攻读考试,其中一个我很困惑的问题是:
给出密钥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的最佳案例树。如果有人能帮助我理解这一点,我将非常感激。
答案 0 :(得分:9)
您的第一个条目将是您的根。在那之后,在你的根之前出现的任何东西(在这种情况下按字母顺序排列)将向左移动;之后会出现在右边。
每一个都会生成一棵树,可以按字母顺序从左下角到右下角进行追踪。
正如您所看到的,这会生成一个树,可以从左下方向上读取(在继续向上之前从父级探索每个分支)以创建字母序列
答案 1 :(得分:3)
如果A是根节点,那么所有节点都在它的右边,那么你就不会有树的优势,你会有更多的东西类似于链表。要使树成为最佳案例树,您希望从根节点左右节点的数量是相似的数字,即树的深度将如何变小,您将变得更好性能