Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 权重平衡树的确切定义是什么?_Algorithm_Data Structures_Tree - Fatal编程技术网

Algorithm 权重平衡树的确切定义是什么?

Algorithm 权重平衡树的确切定义是什么?,algorithm,data-structures,tree,Algorithm,Data Structures,Tree,对于权重平衡树有许多定义。我不知道该遵循哪一个,很难理解给出的定义 如果权重[n.左]≥ 重量[n]和重量[n.右]≥ 重量[n] 左右子树中的节点数必须相等 权重平衡树是一种二叉树,其中每个节点的 左子树中的节点数至少为一半,最多为一半 右子树中节点数的两倍 谁能给我解释一下哪个是正确的吗?据我所知,wbt中节点n的余额p()由 p(n) = s(n.l)/s(n) = 1 - s(n.r)/s(n) 其中s是后代叶片的数量。现在可以使用旋转和双旋转操作开始重新平衡树。现在,如果叶数为偶数,

对于权重平衡树有许多定义。我不知道该遵循哪一个,很难理解给出的定义

如果权重[n.左]≥ 重量[n]和重量[n.右]≥ 重量[n]

左右子树中的节点数必须相等

权重平衡树是一种二叉树,其中每个节点的 左子树中的节点数至少为一半,最多为一半 右子树中节点数的两倍


谁能给我解释一下哪个是正确的吗?

据我所知,wbt中节点
n
的余额
p()

p(n) = s(n.l)/s(n) = 1 - s(n.r)/s(n)
其中
s
是后代叶片的数量。现在可以使用旋转和双旋转操作开始重新平衡树。现在,如果叶数为偶数,则该语句为true,即对于每个节点,左侧和右侧节点中的子节点数相等。这只适用于平衡的wbt。这并不总是可能的,如果你有6个假期,你如何平衡这一点,使该声明成立

重新平衡会降低wbt的高度

示例:您有一个wbt,左节点有一百万个叶子,右节点有两个叶子。现在可以开始旋转树叶,以便左子树中的树叶数量为

至少是右子树中节点数的一半,最多两倍

一种说法是:

对于每个节点,树都是有界平衡的


a这些定义有什么问题?我相信构建权重平衡树的动机是它保证了某种性能,例如排序算法。权重平衡树比高度平衡树有什么优势?你能给我一个正确准确的权重平衡树定义吗?对于证明,你不能用证明给出定义,这是矛盾的。定义不需要是好的。请给我一个权重平衡树的定义和解释你能解释一下吗?什么是p(n)?什么陈述?p是节点的平衡点,那么p(n)的最佳值应该是什么?或者wbt根的p(n)值是多少?我改变了答案,这可能会有帮助吗
a <= p(n) <= 1-a