《特殊二叉树》PPT课件.ppt
《《特殊二叉树》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《特殊二叉树》PPT课件.ppt(63页珍藏版)》请在三一办公上搜索。
1、第六章 特殊二叉树,6.1 二叉搜索树,二叉搜索树的定义 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有如下特征的非空二叉树:若它的左子树非空,则左子树上所有结点的关键字均小于根结点的关键字;若它的右子树非空,则右子树上所有结点的关键字均大于(若允许具有相同关键字的结点存在,则大于等于)根结点的关键字;左、右子树本身又各是一棵二叉搜索树。,52,63,30,12,15,23,74,18,26,一棵二叉排序数,对该树中序遍历得到一有序序列:12,15,18,23,26,30,52,63,74非递减序列,6.1.3 二叉搜索树的运算,查找 从二叉搜索树中查找其值等于给定值item的结点,其
2、过程为:(1)若二叉搜索树为空,则表明查找失败,应返回假(2)若item等于当前树根结点的值,则表明查找成功,应由引用参数item带回根结点的完整值并返回真(3)若item小于当前树根结点的值,则继续在它的左子树上查找,若item 大于当前树根结点的值,则继续它的右子树上查找。,bool Find(BTreeNode*BST,ElemType,进行二叉排序树查找的非递归算法bool Find1(BTreeNode*BST,ElemType,2.二叉排序树的更新,二叉排序树的更新算法与查找算法基本相同,区别在于:在更新算法中查找到待更新元素时,应将item的值赋给该元素,而查找算法中则是将该元素
3、的值赋给item带回更新算法中item可为变参,也可为值参,在参数说明前可以加或不加const,而在查找算法中item只可为变参,且不能加常量标识符const,3.二叉排序树的插入,向二叉搜索树中插入其值为item的结点的过程为:(1)若当前二叉树为空,则由item元素生成的新结点将作为树根结点插入;(2)否则,若item 小于当前树根结点的值,则将新结点插入到它的左子树上,若item大于当前树根结点的值,则将新结点插入到它的右子树上。,递归算法描述为:void Insert(BTreeNode*,非递归算法描述为:void Insert1(BTreeNode*,利用二叉排序树插入算法生成二叉
4、排序树void CreateBSTree(BTreeNode*,例:假定待建立二叉排序树的一组元素为:(38,26,62,94,35,50,28,55),4.二叉排序树的删除,删除叶子结点将其双亲结点链接到它的指针去掉(即置为空)。,删除单支结点将后继指针链接到它所在的链接位置。,L,D,S,(c),G,A,W,P,删除双支结点一种方法是:首先把它的右子树链接到它的中序前驱结点的右指针域,然后把它的左子树链接到它所在的链接位置。,第二种方法是:首先把它的中序前驱结点的值赋给该结点的值域,然后再删除它的中序前驱结点。,练习:P247 习题6-1中1,2两题1.,46,25,78,37,12,70
5、,62,29,广义表:46(25(12,37(29),78(62(,70),2.,49,63,28,30,12,16,72,34,49,28,30,12,16,63,34,删除72,广义表:28(12(,16),49(34(30),63),49,28,30,12,16,63,34,删除12,49,28,30,16,63,34,广义表:28(16,49(34(30),63),49,28,30,16,63,34,34,28,16,63,30,删除49,广义表:28(16,34(30,63),34,28,16,63,30,34,16,63,30,删除28,广义表:16(,34(30,63),6.2
6、堆,6.2.1 堆的定义 堆分为小根堆和大根堆两种,对于一个小根堆,它是具有如下特性的一棵完全二叉树。(1)若树根结点存在左孩子,则树根结点的值小于等于左孩子结点的值;(2)若树根结点存在右孩子,则树根结点的值小于等于右孩子结点的值;(3)以左、右孩子为根的子树又同样各是一个堆。大根堆的定义与上述类似,只要把小于等于改为大于等于就得到了。,6.2.1 堆的定义,6.2.3 堆的存储结构,struct Heap ElemType*heap;int len;int MaxSize;,0 1 2 3 4 5 6 7 8 9,6.2.3 堆的存储结构,6.2.4 堆的运算,(1)向堆中插入一个元素 将
7、该元素写入到堆尾,即堆中最后一个元素位置的后面,如果不满足对的特征,向上逐层调整。,插入15,(2)从堆中删除元素(删除堆顶元素)将栈顶结点删除后,将堆尾结点移至堆顶,若破坏了堆的特征,从上往下逐层调整,6.2.4 堆的运算,练习:P247 习题6-1中3,43.,40,64,12,38,15,26,48,52,55,73,(12 15 40 38 26 52 48 64 55 73),4.,40,64,12,38,15,26,48,52,删除12,40,15,38,26,64,48,52,40,15,38,26,64,48,52,删除15,40,26,48,38,64,52,40,26,48
8、,38,64,52,删除26,40,38,52,48,64,64,40,52,48,40,38,52,48,64,删除38,练习:1.一棵二叉树的前序遍历序列为ABCDEFG,其中序遍历序列可能是 A.CABDEFG B.ABCDEFG C.DACEFBG D.ADCFEGB,BD,2.一棵高为h的二叉树中无单分支结点,问此树所包含的结点数至少为3.任何一棵二叉树的叶子结点在前、中、后序遍历序列中的相对次序 A.不发生改变 B.发生改变 C.不能确定 D.以上均错,2h-1,A,6.3 哈夫曼树,6.3.1 基本术语路径和路径长度若在一棵树中存在一个结点序列k1,k2,kj,使得ki是ki+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 特殊二叉树 特殊 二叉 PPT 课件
链接地址:https://www.31ppt.com/p-5551076.html