数据结构预算法第七章树(45页PPT).pptx
《数据结构预算法第七章树(45页PPT).pptx》由会员分享,可在线阅读,更多相关《数据结构预算法第七章树(45页PPT).pptx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章第七章 树和二叉树树和二叉树 树形结构是一种重要的非线性结构,在计算机科学树形结构是一种重要的非线性结构,在计算机科学中有着广泛的应用。中有着广泛的应用。7.1 7.1 树的定义和术语树的定义和术语7.1.1 树的定义 树(tree)是n(n0)个结点的有限集。在一棵非空树中:(1)有且仅有一个特定的结点,称为根(root)(根结点无前驱结点);(2)当n1时,除根结点之外的其余结点可分为m(m0)个互不相交的有限集(T1,T2,Tm),其中每一集合本身又是一棵树,并且称为根的子树(subtree)。第一页,编辑于星期二:四点 五分。举举 例例v例71 (a)只有根结点的树 (b)一般的
2、树 (b)中A为根结点,其余结点分成三个互不相交的子集:T1=B,E,F,K,L,T2=C,G,T3=D,H,I,J而T1,T2,T3本身又都是只有一个根结点的树。ALKEFGHIJDCBAM第二页,编辑于星期二:四点 五分。7.1.2 7.1.2 基本术语基本术语:(1)结点:包含一个数据元素及若干指向其子树的分支(2)结点的度:结点拥有子树数目称为结点的度。如图7-1-1的(b)中,A的度为3;C的度为1;M的度为0。(3)叶子(或终端)结点:度为零的结点。(4)分支结点(或非终端结点):除根结点外度不为零的结点,也称为内部结点。(5)树的度:树内各结点的度的最大值。(6)孩子:结点的子树
3、的根称为该结点的孩子。如图7-1-1的(b)中,D为A的子树T3的根,则D是A的孩子。(7)双亲:和孩子定义相应地该结点称为孩子的双亲。如图7-1-1的(b)中,A为D的双亲。第三页,编辑于星期二:四点 五分。(8)兄弟:同一个双亲的孩子之间互称兄弟。如图7-1-1的(b)中的H,I,J。(9)祖先:从根到该结点所经过分支上的所有结点。如:M的祖先为A,D,H(10)子孙:以某结点为根的子树中的任一结点都称为该结点的子孙。如图7-1-1的(b)中B的子孙为E,F,K,L(11)层次:从根开始定义为第一层,根的孩子为第二层,依次例推。(12)深度(或高度):树中结点的最大层次。(13)有序树:将
4、树中结点的各子树看成从左到右是有序的。有序树中最左边的子树的根称第一个孩子,最右边的称为最后一个孩子。(14)无序树:树中结点的各子树没有次序的。(15)森林:是m(m0)棵互不相交的树的集合,对树中每个结点而言,其子树的集合即为森林。第四页,编辑于星期二:四点 五分。v该树的根结点为:a,分支结点为:b、c、e;叶子结点为d、f、g、h、i、j;v该树的度为3,高度为4;v第一层有结点:a,第二层有结点:b、c;第三层有结点d、e、f、g、h,第四层有结点:i、j。abcdeigjhf第五页,编辑于星期二:四点 五分。7.2 7.2 二叉树二叉树7.2.1 二叉树的定义和性质:1、定义:二叉
5、树是另一种树型结构,它的特点是每个结点至多只有二棵子树(即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒。2、如图所示二叉树的五种基本形态(a)(b)(c)(d)(e)第六页,编辑于星期二:四点 五分。7.2.2 7.2.2 二叉树的性质二叉树的性质(1)性质1:在二叉树的第i层上至多有2i-1个结点(i1)。(2)性质2:深度为k的二叉树的最大结点数为2k-1(k1)。(3)性质3:对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为 n2,则n0=n2+1(4)一棵深度为k且有2k-1个结点的二叉树称满二叉树。特点:每层上的结点数都为最大结点数,除终
6、端结点外,每个结点都有两棵子树。(5)完全二叉树:如深度为k,有N个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1到N的结点一一对时,称之为完全二叉树。特点:深度为k的完全二叉树,其前k-1层是一棵满二叉树,最后第k层结点都尽量排在靠左的位置上。显然一棵满二叉树一定是完全二叉树,但一棵完全二叉树不一定是满二叉树。第七页,编辑于星期二:四点 五分。v(6)完全二叉树的两个特性:v性质4:具有n个结点的完全二叉树的深度为Log2n+1。v性质5:如果对一棵有n个结点的完全二叉树(其深度为Log2n+1)的结点按顺序编号,则任一结点i(1in)有:若i=1,则结点i是二叉树的根结
7、点,若i1,则i的双亲结点为结点i/2;若2in,则i的左孩子是结点2i,否则无左孩子;若2i+1n,则i的右孩子是结点2i+1,否则无右孩子。第八页,编辑于星期二:四点 五分。v7.2.3 7.2.3 二叉树的存储结构二叉树的存储结构 1.顺序存储结构 用一组连续的存储单元存储二叉树的数据元素,按满二叉树的结点顺序编号依次存放二叉树中数据元素。0 1 2 3 4 5 T(6)图7-3完全二叉树ABCDEFA B C D E F第九页,编辑于星期二:四点 五分。第十页,编辑于星期二:四点 五分。2.2.链式存储结构链式存储结构链表的结点至少包含:数据域和左右指针域的链有时还需增一指向双亲的指针
8、域,有两个指针域的链表称为二叉链表,有三个指针域的链表称为三叉链表,如图5-5所示:第十一页,编辑于星期二:四点 五分。第十二页,编辑于星期二:四点 五分。例7-3分别画出二叉树链式存储结构 第十三页,编辑于星期二:四点 五分。第十四页,编辑于星期二:四点 五分。第十五页,编辑于星期二:四点 五分。7.3 7.3 遍历二叉树遍历二叉树 7.3.1 二叉树遍历遍历二叉树:是指如何按某条搜索路径巡访树中每个结点使得每个结点均被访问一次,而且仅被访问一次。简言之,以一定规则将二叉树中结点排列成一个线性序列。二叉树的遍历有三种方法:前序遍历、中序遍历、后序遍历。1.先序遍历:v按先序遍历根结点;v访问
9、根结点的左子树;v访问根结点的右子树;第十六页,编辑于星期二:四点 五分。v2.中序遍历:v按中序遍历根结点的左子树;v访问根结点;v按中序遍历根结点的右子树;v3.后序遍历:v按后序遍历根结点的左子树;v按后序遍历根结点的右子树;v访问根结点;v4.层次遍历:v 按照自上而下(从根结点开始),从左到右(同一层)的顺序逐层访问二叉树上的所有结点,这样的遍历方法称为层次遍历。第十七页,编辑于星期二:四点 五分。例74 第十八页,编辑于星期二:四点 五分。v用三种不同方法遍历图5-9所示的二叉树得:v前序遍历结果为:124753689v中序遍历结果为:742513869v后序遍历结果为:74528
10、9631v层次遍历结果为:123456789第十九页,编辑于星期二:四点 五分。v前序遍历的序列为:abdgcefhv中序遍历的序列为:dgbaechfv后序遍历的序列为:gdbehfcav层次遍历的序列为:abcdefghabcdgefh如下图所示的一棵二叉树,写出其前序遍历、中序遍历、后序遍历的系列:第二十页,编辑于星期二:四点 五分。v举例:如图的一棵二叉树:1、写出先序遍历、中序遍历和后序遍历的结果;2、写出结点c的双亲结点、其左右孩子。eadcbjfghi第二十一页,编辑于星期二:四点 五分。v先序遍历序列:eadcbjfghiv中序遍历序列:abcdjefhgiv后序遍历序列:bc
11、jdahigfevc的双亲结点是e,左孩子为b,没有右孩子。eadcbjfghi第二十二页,编辑于星期二:四点 五分。7.3.2 7.3.2 恢复二叉树恢复二叉树1.由前序和中序恢复二叉树(1)根据前序序列确定树的根(第一个根),根据中序确定左子树和右子树。(2)分别找出左子树和右子树的根结点,并把左、右子树的根结点连到父结点上去。(3)再对左子树和右子树按此法找根结点和左、右子树,直到子树只剩下1个结点或2结点或空为止。2.由后序和中序恢复二叉树(1)根据后序序列确定树的根(最后一个),根据中序确定左子树和右子树。(2)分别找出左子树和右子树的根结点,并把左、右子树的根结点连到父结点上去。(
12、3)再对左子树和右子树按此法找根结点和左、右子树,直到子树只剩下1个结点或2结点或空为止。第二十三页,编辑于星期二:四点 五分。7.4 7.4 二叉树的转换二叉树的转换v7.4.1 7.4.1 一般树转换为二叉树一般树转换为二叉树v1.连线-连接树中所有相邻的兄弟结点。v2.删线-保留父亲结点与长子的连线,打断父亲结点和非长子之间的连线。v3.旋转-以根结点为轴心,将整棵树顺时针旋转一定角度,使之层次分明。v转换后的结论:转换后的结论:v(1 1)在转换产生的二叉树中,左分支上的各结点在原来的树中是父子关系;而右分支上)在转换产生的二叉树中,左分支上的各结点在原来的树中是父子关系;而右分支上的
13、各结点在原来的树中是兄弟关系。的各结点在原来的树中是兄弟关系。v(2 2)由于树的根结点无兄弟,所以转换后的二叉树的根结点必定无右子树。)由于树的根结点无兄弟,所以转换后的二叉树的根结点必定无右子树。v(3 3)一棵树采用长子、兄弟表示法所建立的存储结构与它所对应的二叉树的二叉链表存储结)一棵树采用长子、兄弟表示法所建立的存储结构与它所对应的二叉树的二叉链表存储结构是完全相同的。构是完全相同的。v(4 4)一般树转换为二叉树以后,将使树的深度增加。)一般树转换为二叉树以后,将使树的深度增加。第二十四页,编辑于星期二:四点 五分。7.4.2 7.4.2 森林转换成二叉树森林转换成二叉树方法:(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 预算法 第七 45 PPT
限制150内