【发布时间】:2015-07-14 20:01:19
【问题描述】:
AVL 树的 叶子 的深度相差 高于 然后 1 怎么办?
我的意思是,AVL 被定义为每两个叶子 x,y:
|x.depth - y.depth|
那么我该如何构建一个 |x.depth - y.depth| 的 AVL > 1 ?
非常感谢您的帮助,
【问题讨论】:
标签: java data-structures tree binary-search-tree avl-tree
AVL 树的 叶子 的深度相差 高于 然后 1 怎么办?
我的意思是,AVL 被定义为每两个叶子 x,y:
|x.depth - y.depth|
那么我该如何构建一个 |x.depth - y.depth| 的 AVL > 1 ?
非常感谢您的帮助,
【问题讨论】:
标签: java data-structures tree binary-search-tree avl-tree
原来这个问题真的很愚蠢。 在朋友的帮助下想通了。
我的错误在于查看“深度路径”长度,尽管我只需要查看每个节点下方发生的情况。无需查看节点上方。 意思是,只要每个节点的子树高度相差“1”就可以了。
这里我附上一个例子,为了确保 AVL 是平衡的,从底部到 AVL 的根并比较每个节点的每个左右子树。你会确信它是一个平衡的 AVL 树。 (虽然 |leaf24.depth-leaf10.depth| > 1 ; |leaf24.depth-leaf10.depth|=2)!!
【讨论】: