大连理工大学数据结构PPT课件二叉树的概念 储存.ppt

上传人:小飞机 文档编号:1921558 上传时间:2022-12-26 格式:PPT 页数:32 大小:2.08MB
返回 下载 相关 举报
大连理工大学数据结构PPT课件二叉树的概念 储存.ppt_第1页
第1页 / 共32页
大连理工大学数据结构PPT课件二叉树的概念 储存.ppt_第2页
第2页 / 共32页
大连理工大学数据结构PPT课件二叉树的概念 储存.ppt_第3页
第3页 / 共32页
大连理工大学数据结构PPT课件二叉树的概念 储存.ppt_第4页
第4页 / 共32页
大连理工大学数据结构PPT课件二叉树的概念 储存.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《大连理工大学数据结构PPT课件二叉树的概念 储存.ppt》由会员分享,可在线阅读,更多相关《大连理工大学数据结构PPT课件二叉树的概念 储存.ppt(32页珍藏版)》请在三一办公上搜索。

1、3.2 二叉树,主要内容,二叉树的概念、性质二叉树的存储结构二叉树的遍历线索二叉树二叉搜索树平衡二叉树堆与优先队列Huffman树及其应用,二叉树的定义及基本术语满二叉树、 完全二叉树、 扩充二叉树二叉树的主要性质,二叉树的概念、性质,二叉树,二叉树的定义 二叉树:是n(n0)个结点的有限集合。n=0的树称为空二叉树;n0的二叉树由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。,根结点,左子树,右子树,二叉树,基本特征: 每个结点最多只有两棵子树(不存在度大于2的结点) 左子树和右子树次序不能颠倒。下面是两棵不同的树:,二叉树,基本形态,A,空二叉树,只有根结点的二叉树,右

2、子树为空,左子树为空,左、右子树均非空,问:具有3个结点的二叉树可能有几种不同形态?,有5种,二叉树,一般的树有几种?,满二叉树,在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子结点都在同一层上,这样的二叉树称为满二叉树。,满二叉树特点,高度为k且有2k-1个结点的二叉树。每一层上的结点数都是最大结点数;所有的分支结点的度数都为2;叶子结点都在同一层次上。,完全二叉树,如果一棵深度为k,有n个结点的二叉树中各结点能够与深度为k的顺序编号的满二叉树从1到n标号的结点相对应的二叉树称为完全二叉树。(只有最下两层结点可以度小于2),完全二叉树特点,叶子结点只可能在层次最大的两层上出

3、现;前k-1层中的结点都是“满”的,且第 k 层的结点都集中在左边。,判断是否为完全二叉树,思考:满二叉树与完全二叉树的关系?,扩充二叉树,当二叉树里出现空的子树时,就增加新的、特殊的结点空树叶对于原来二叉树里度数为1的分支结点,在它下面增加一个空树叶对于原来二叉树的树叶,在它下面增加两个空树叶,扩充二叉树,扩充二叉树,外部路径长度E 从扩充的二叉树的根到每个外部结点的路径长度之和 内部路径长度I 扩充的二叉树里从根到每个内部结点的路径长度之和 E和I两个量之间的关系为 E=I+2n (证明见课本),扩充二叉树,例如,在图5.3这个有10个内部结点的扩充二叉树里 E = 3 + 4 + 4 +

4、 3 + 4 + 4 + 3 + 4 + 4 + 3 + 3= 39 I = 0 + 1 + 2 + 3 + 2 + 3 + 1 + 2 + 3 + 2 = 19E和I两个量之间的关系为 E = I + 2n。,二叉树的主要性质,任何一棵二叉树,若其终端结点数为n0 ,度为2的结点数为n2,则n0=n2+1 。 证明:设n1为二叉树中度为1 的结点数。该二叉树的结点总数n为度分别为0,1,2的结点数之和,即 n=n0+n1+n2 (3.1) 除根结点外,其余结点都有一条边进入,设边数为e,有n = e + 1。由于这些边是由度为1或2的的结点发出的,所以又有e=n1+2n2,于是得 n=e+1

5、=n1+2n2+1 (3.2) 由公式3.1和3.2得 n0+n1+n2=n1+2n2+1, 即 n0=n2+1,二叉树的主要性质,在二叉树的第i层上至多有2i个结点(根为第0层,i0)。高度为h(深度为h-1)的二叉树至多有2h-1个结点。非空满二叉树树叶数等于其分支结点数加1。有n个结点(n0)的完全二叉树的高度为 log2 (n+1),二叉树性质,对完全二叉树中编号为i的结点(1in, n1,n为结点数)有:,(1)若i=1,则结点i是二叉树的根,无双亲。(2)若i1,则它的双亲结点的编号为i/2。当i为偶数时,其双亲结点的编号为i/2,它是左孩子结点,当i为奇数时,其双亲结点的编号为(

6、i-1)/2,它是右孩子结点。,二叉树性质,(3)若编号为i的结点有左孩子结点,则左孩子结点的编号为2i;若编号为i的结点有右孩子结点,则右孩子结点的编号为(2i+1)。,二叉树性质,(4)若n为奇数,则每个分支结点都既有左孩子结点,也有右孩子结点;若n为偶数,则编号最大的分支结点(编号为n/2)只有左孩子结点,没有右孩子结点,其余分支结点都有左、右孩子结点。,二叉树性质,二叉树的存储结构,顺序存储结构链式存储结构,完全二叉树的结点可按从上至下和从左至右的次序存储在一维数组中,其结点之间的关系可由公式计算得到。,顺序存储结构,对于一般的非完全二叉树:增加空结点,以便顺序存储。,(a)一般二叉树

7、,(b)完全二叉树形态,(c) 在数组中的存储形式,高度为4,有7个结点的一般二叉树的顺序存储,g,f,0,0,0,0,e,d,c,b,a,浪费4个,高度为4,只有4个右孩子的二叉树的顺序存储,0,0,0,0,4,0,0,0,3,0,0,0,2,0,1,浪费11个,顺序存储结构适用于满二叉树和完全二叉树的存储。,二叉树的链式存储结构,链式存储方式,是指二叉树的各结点随机的存储在 内存空间中,结点之间的关系用指针表示。 二叉树的链表的结点包含三个域:数据域和左、右指针域。,二叉链存储结构的二叉树,在n个结点的二叉链表中,有n+1个空指针域。,二叉树的链式存储结构,三叉链表:在使用二叉链表存储的二叉树中,如果找某个结点的父结点,那么需要从根结点出发依次巡查在三叉链表表示的二叉树中只需要顺着parent指针就能直接找到该结点的父结点,三叉链存储结构的二叉树,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号