请问每个节点的平衡因子是怎么计算的?能详细说下吗?先让我入门了讲解简单易懂点,找资料一大堆就是没人讲清楚的。
就跟这张图中平衡二叉树(1):
5的树根节点为什么是3-2呢? 跟节点5的深度是3吗?那平衡因子的求法就是 :平衡因子BF=左子树深度-右子树深度.
那深度值3是根节点怎么变成左子树了?右子树的深度值2是谁?根节点5是左子树?
2的节点平衡因子为什么是1-2=-1; 请问1的深度值是哪个节点了?2的深度值又是哪个节点了?
麻烦将平衡二叉树和不平衡二叉树的平衡因子求法详细说明下吧。
请详细说明下,不要复制其他人的文章了,我想知道每个节点的平衡因子是怎么计算出来的我要计算步骤和原理麻烦了。
1、5的树根节点为什么是3-2呢?跟节点5的深度是3吗?
答:因为5号的左子树里面离得最远的是3号,距离是三个节点,所以左子树深度是3。5号的右子树里面离得最远的是7号,距离两个节点,所以右子树深度是2。根据计算公式:左子树的深度(3)-右子树的深度(2)=1,并没有大于1,所以是平衡树。你要计算哪个节点,那个节点就是根节点,你这里要计算5号节点,所以5号是根;下面你要计算2号节点,那么2号节点就是根节点
2、2的节点平衡因子为什么是1-2=-1; 请问1的深度值是哪个节点了?2的深度值又是哪个节点了?
答:为什么是1-2理由和上面差不多;以2号为根节点来看,深度值为1的是1号节点,深度为2的是3号节点
http://t.csdn.cn/KDXWb
这个问题中已经回答的很详细了,哪里还不清楚,直接提出疑问啊。
一个节点详细计算都讲清楚了,所有的节点都是一模一样的计算。
若向平衡二叉树中插入一个新结点后破坏了平衡二叉树的平衡性。首先要找出插入新结点后失去平衡的最小子树根结点的指针。然后再调整这个子树中有关结点之间的链接关系,使之成为新的平衡子树。当失去平衡的最小子树被调整为平衡子树后,原有其他所有不平衡子树无需调整,整个二叉排序树就又成为一棵平衡二叉树。
失去平衡的最小子树是指以离插入结点最近,且平衡因子绝对值大于1的结点作为根的子树。假设用A表示失去平衡的最小子树的根结点,则调整该子树的操作可归纳为下列四种情况。