考虑到一个倾斜的树,它的所有节点只有一个特定的方向(左或右)。我们能说一个有n个节点的链表也是一个有n个高度的斜树吗?

最佳答案

对。列表是退化树。如果你想要的话,你可以称之为“最大不平衡树”。
事实上,当有人说你需要平衡二叉搜索树才能获得O(log n)查找性能时,这正是他们的意思,因为如果你的树变得不平衡,它就会退化为一个列表,查找性能就会变成O(n)。
有时从另一个角度思考也是有用的:大多数人根本不难理解持久化列表是如何工作的,但是很多人很难理解持久化树是如何工作的。但问题是:它实际上和持久化列表一样工作,如果从持久化列表开始,然后将该列表重新解释为退化树,通常很容易理解持久化树的工作方式。

09-06 14:51