数据结构与算法python语言描述ds080字典的树型实现.pptxVIP

  • 2
  • 0
  • 约1.39千字
  • 约 32页
  • 2020-02-16 发布于上海
  • 举报

数据结构与算法python语言描述ds080字典的树型实现.pptx

第八章 字典的树型实现;二叉排序树 平衡二叉排序树(AVL树) B-树 ;二叉排序树; 中序遍历序列是有序序列!;或者为空树,或者是满足下列性质的二叉树: 若左子树不空,则左子树上的所有结点的值都小于根结点的值; 若右子树不空,则右子树上的所有结点的值都大于根结点的值 左右子树也分别为二叉排序树。;若根结点为空,则检索失败; 否则关键码与根关键码比较: = :检索成功 :转到左子树继续 :转到右子树继续 ;二叉排序树的插入——为叶子;希望树形不要太“偏沉”,尽可能“平衡”,使得树的深度小,从而ASL小!; case 1:若要删除的结点是叶子,则直接删!; case 2:若要删除的结点只有一棵子树,则跨越删除!;Case 3:若删除的结点有两棵子树,则 方法1:跨越删除后,右子树挂到最右下; 问题:易导致树的深度变得很大! ;Case 3:若删除的结点有两棵子树,则 方法2:利用左子树的最右下(最大)结点,充顶被删结点的位置! 好处:树的深度不会增加! ; 插入、删除较为简单 平均的检索效率高:O(logn) 致命缺点:操作效率没有保证。 由插入、删除操作的自然性和简单化处理,可能出现极度“偏沉”的树形。;平衡二叉排序树;平衡二叉树、结点的平衡因子;平衡二叉排序树;平衡二叉排序树的插入;先找到离插入点最近的失衡结点,就地处理! 这意味着局部之外的结点的平衡因子在插入的前后保

文档评论(0)

1亿VIP精品文档

相关文档