数据结构复习重点.pptVIP

  • 20
  • 0
  • 约2.69千字
  • 约 42页
  • 2019-06-14 发布于江西
  • 举报
复习重点 liangyus@ Agenda 二叉树 二叉搜索树 AVL树 B-树 图的遍历 图的路径生成 生成树 1、二叉树 基本概念:满二叉树、完全二叉树 前、中、后序遍历 前中序生成二叉树 二叉树的递归思想 1、二叉树 1、二叉树 复制二叉树 判断两个二叉树是否相等 二叉树的删除 2、二叉搜索树 定义[二叉搜索树] 二叉搜索树是一棵可能为空的二叉树,一棵非空的二叉搜索树满足以下特征: 1) 每个元素有一个关键值,所有的关键值都是唯一的。 2) 根节点左子树的关键值(如果有的话)小于根节点的关键值。 3) 根节点右子树的关键值(如果有的话)大于根节点的关键值。 4) 根节点的左右子树也都是二叉搜索树。 2、二叉搜索树 输入如下数据序列,构造二叉搜索树 { 53, 78, 65, 17, 87, 09, 81, 45, 23 } 2、二叉搜索树 2、二叉搜索树 3、AVL树 4、B-树 定义:m序B-树(B - Tree of order m)是一棵m叉搜索树,如果B-树非空,那么相应的扩充树满足下列特征: 1) 根节点至少有2个孩子。 2) 除了根节点以外,所有内部节点至少有?m/2?个孩子。 3) 所有外部节点位于同一层上。 4、B-树 4、B-树 二序B-树,是二叉搜索树,没有哪个内部节点会有2个以上的孩子。 由于在二叉树中每个内部节点必须至少有2个子女,所以一棵二序B-树的所有内部节点都恰好有2个孩子。 所有外部节点必须在同一层上暗示了二序B-树是一棵满二叉树。 4、B-树 在一棵三序B-树中,内部节点既可以有2个也可以有3个孩子,因此也把三序B树称作2-3树。 由于四序B-树的内部节点必须有2个、3个或4个孩子,这种树也叫作2-3-4树(或简称2,4树)。 4、B-树 B-树的搜索算法与m叉搜索树的搜索算法相同。 在搜索过程中,从根至外部节点路径上的所有内部节点都有可能被搜索到,因此,磁盘访问次数最多是h(h是B-树的高度)。 4、B-树 将一个元素插入B-树中时,首先要检查具有相同关键值的元素是否存在,如果找到了这个元素,那么插入失败,因为不允许重复值存在。 当搜索不成功时,便可以将元素插入到搜索路径中所遇到的最后一个内部节点处。 饱和?当新元素需要插入到饱和节点中时,饱和节点需要被分开。 4、B-树 下图7序B-树插入3? 4、B-树 下图7序B-树插入25? 4、B-树 插入25? 4、B-树 下图3序B-树插入44 4、B-树 4、B-树 删除分为两种情况:1)被删除元素位于其孩子均为外部节点的节点中(即元素在树叶中);2)被删除元素在非树叶节点中。 既可以用左相邻子树中的最大元素,也可以用右相邻子树中的最小元素来替换被删除元素,这样2)就转化为1)。替换元素必须确保在树叶中。 4、B-树 下图7序B-树删除80? 4、B-树 下图3序B-树删除10 4、B-树 合并 4、B-树 借50 4、B-树 删除20? 4、B-树 删除44 4、B-树 4、B-树 4、B-树 4、B-树 下学期课程设计作业 ftp服务器 49 的目录 “/Public/孙明-数据结构课程设计” 中。 里面有具体的要求,寒假开始做。 Click to edit company slogan . * * * * * * * * * * * * * * * * * * * * A B C D E F G H K 二叉树遍历 前序序列: 中序序列: 后序序列: A B C D E F G H K B D C A E H G K F D C B H K G F E A 复制二叉树 其基本操作为:生成一个结点。 根元素 T 左子树 右子树 根元素 NEWT 左子树 右子树 左子树 右子树 BiTNode *GetTreeNode(TElemType item, BiTNode *lptr , BiTNode *rptr ){ if (!(T = new BiTNode)) exit(1); T- data = item; T- lchild = lptr; T- rchild = rptr; return T; } 生成一个二叉树的结点 (其数据域为item,左指针域为lptr,右指针域为rptr) BiTNode *CopyTree(BiTNode *T) { if (!T ) return NULL; if (T-lchild ) newlptr = CopyTree(T-lchild); //复制左子树 else newlptr = NULL;

文档评论(0)

1亿VIP精品文档

相关文档