转载)查找之平衡二叉树.pptVIP

  • 10
  • 0
  • 约2.41千字
  • 约 13页
  • 2017-09-09 发布于湖北
  • 举报
(转载)查找之平衡二叉树

若一棵二叉树中每个结点的左、右子树的高度至多相差1,则称此二叉树为平衡二叉树。 在算法中,通过平衡因子(balancd factor,用bf表示)来具体实现上述平衡二叉树的定义。 平衡因子的定义是:平衡二叉树中每个结点有一个平衡因子域,每个结点的平衡因子是该结点左子树的高度减去右子树的高度。 从平衡因子的角度可以说,若一棵二叉树中所有结点的平衡因子的绝对值小于或等于1,即平衡因子取值为1、0或-1,则该二叉树称为平衡二叉树。 平衡二叉树(AVL) * 平衡二叉树和不平衡二叉树 * 定义AVL树的结点的类型如下: typedef struct node /*记录类型*/ { KeyType key; /*关键字项*/ int bf; /*增加的平衡因子*/ InfoType data; /*其他数据域*/ struct node *lchild,*rchild; /*左右孩子指针*/ } BSTNode; 首先从根结点到该新插入结点之路径逆向向根结点方向找第一个失去平衡的结点(即平衡因子的绝对值大于1 的结点 ) * 假定向平衡二叉树中插入一个新结点后破坏了平衡二叉

文档评论(0)

1亿VIP精品文档

相关文档