数据结构(C/C++描述)教学课件阮宏一第8章 查找.PPTVIP

  • 0
  • 0
  • 约7.63千字
  • 约 72页
  • 2019-10-08 发布于广东
  • 举报

数据结构(C/C++描述)教学课件阮宏一第8章 查找.PPT

8.1 基本概念 8.2 静态查找 8.3 动态查找 8.4 哈希查找 3.二叉排序树的插入算法 8.3.2 平衡二叉树 什么是平衡二叉树(Balanced Binary Tree) ? 平衡二叉树是空树,或者是具有以下性质的二叉树: 它的左子树和右子树也都是平衡二叉树并且 左子树和右子树的深度之差的绝对值不超过1 结点的平衡因子BF(Balance Factor)是 左子树的深度减去右子树的深度,它只可能是-1,0,1 平衡二叉树(也称AVL树)的深度为O(log N)(其中N为结点个数) 它的平均查找长度也是O(log N) 平衡二叉树及平衡因子举例 不平衡二叉树及平衡因子举例 二叉排序树转成平衡树示例 设关键字序列为(13,24,37,90,53) 二叉排序树转成平衡树 失去平衡后进行调整的4种情况 (1)单向右旋平衡处理 当在左子树上插入左结点,使平衡因子由1增至2时 (2)单向左旋平衡处理(上例从图(d)到图(e)) 当在右子树上插入右结点,使平衡因子由-1增至-2时 (3)双向旋转(先左后右)平衡处理 当在左子树上插入右结点,使平衡因子由1增至2时 (4)双向旋转(先右后左)平衡处理 当在右子树上插入左结点,使平衡因子由-1增至-2时 (例如上例从图(f)右旋到图(g)再左旋到图(h)) 算法8.5 用非递归算法描述二叉排序

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档