《软件基础串讲》PPT课件.ppt
《《软件基础串讲》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件基础串讲》PPT课件.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机软件基础计算机软件基础计算机软件基础计算机软件基础重点知识串讲重点知识串讲1 树与二叉树树与二叉树 一、树与二叉树概念一、树与二叉树概念 1 1树树t树(树(treetree)是一种简单的)是一种简单的非线性结构。在树这种数据非线性结构。在树这种数据结构中,所有数据元素之间结构中,所有数据元素之间的关系具有明显的层次特性。的关系具有明显的层次特性。左图表示了一棵一般的树。左图表示了一棵一般的树。由图可以看出,在用图形表由图可以看出,在用图形表示树这种数据结构时,很像示树这种数据结构时,很像自然界中的树,只不过是一自然界中的树,只不过是一棵倒长的树,因此,这种数棵倒长的树,因此,这种数据结
2、构就用据结构就用“树树”来命名。来命名。一般的树一般的树2t在现实世界中,能用树这种在现实世界中,能用树这种数据结构表示的例子有很多。数据结构表示的例子有很多。例如,图中的树表示了学校例如,图中的树表示了学校行政关系结构;由于树具有行政关系结构;由于树具有明显的层次关系,因此,树明显的层次关系,因此,树与二叉树都可以用树这种数与二叉树都可以用树这种数据结构来描述。在所有的层据结构来描述。在所有的层次关系中,人们最熟悉的是次关系中,人们最熟悉的是血缘关系,按血缘关系可以血缘关系,按血缘关系可以很直观地理解树结构中各数很直观地理解树结构中各数据元素结点之间的关系,因据元素结点之间的关系,因此,在描
3、述树结构时,也经此,在描述树结构时,也经常使用血缘关系中的一些术常使用血缘关系中的一些术语。语。学校行政层次结构树学校行政层次结构树3t树:是一个或多个结点的有穷集合树:是一个或多个结点的有穷集合T T,且满足以下条件:且满足以下条件:1 1、有且仅有一个指定的称作树根、有且仅有一个指定的称作树根的结点;的结点;2 2、除根以外的其余结点被分成、除根以外的其余结点被分成m m个不相交的集合,这些集合的每一个又个不相交的集合,这些集合的每一个又都是树,并且称为根的子树。都是树,并且称为根的子树。42 2树的一些术语树的一些术语t结点的度:结点结点的度:结点N N的子树数称为结点的度。的子树数称为
4、结点的度。t树的度:树树的度:树T T中各结点的度的最大值称的树中各结点的度的最大值称的树T T的度。的度。t叶子:树中度为叶子:树中度为0 0的结点称为叶子(终端结点)。的结点称为叶子(终端结点)。t分枝结点:树中度不为分枝结点:树中度不为0 0的结点称为分枝结点(非终端结点)的结点称为分枝结点(非终端结点)。t双亲和孩子:若树中结点双亲和孩子:若树中结点P P的一棵子树的根是结点的一棵子树的根是结点C C,则我,则我们称们称P P是是C C的双亲或父母,反之称的双亲或父母,反之称C C是是P P的孩子。的孩子。t结点的层数:树的层数为结点的层数:树的层数为1 1,其余任一结点的层数等于它的
5、,其余任一结点的层数等于它的双亲的层数加双亲的层数加1.1.t树的深度:树中各结点的层数的最大值称为树的深度:树中各结点的层数的最大值称为T T的深度(高度)的深度(高度)。53 3二叉树二叉树1 1)二叉树概念)二叉树概念t二叉树(二叉树(bintreebintree)是一种很有用的非线性结构。)是一种很有用的非线性结构。二叉树不同于前面介绍的树结构,但它与树结构二叉树不同于前面介绍的树结构,但它与树结构可以相互转换,二叉树的存储结构及其算法都较可以相互转换,二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。为简单,因此二叉树显得特别重要。t二叉树是二叉树是n n(n n 0 0)
6、个结点的有限集合,它或者是)个结点的有限集合,它或者是空集(空集(n n=0=0),或者由一个根结点及两棵互不相交),或者由一个根结点及两棵互不相交的、分别称这个根的左子树和右子树的二叉树组的、分别称这个根的左子树和右子树的二叉树组成。成。t二叉树不是树的特殊情形,与度数为二叉树不是树的特殊情形,与度数为2 2的有序树不的有序树不同。同。6t二叉树具有以下两个特点:二叉树具有以下两个特点:(1 1)非空二叉树只有一个根结点;)非空二叉树只有一个根结点;(2 2)每一个结点最多有两棵子树,且分)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。别称为该结点的左子树与右子树。t由以上特点
7、可以看出,在二叉树中,每由以上特点可以看出,在二叉树中,每一个结点的度最大为一个结点的度最大为2 2,即所有子树,即所有子树(左子树或右子树)也均为二叉树,而(左子树或右子树)也均为二叉树,而树结构中的每一个结点的度可以是任意树结构中的每一个结点的度可以是任意的。另外,二叉树中的每一个结点的子的。另外,二叉树中的每一个结点的子树被明显地分为左子树与右子树。在二树被明显地分为左子树与右子树。在二叉树中,一个结点可以只有左子树而没叉树中,一个结点可以只有左子树而没有右子树,也可以只有右子树而没有左有右子树,也可以只有右子树而没有左子树。当一个结点既没有左子树,也没子树。当一个结点既没有左子树,也没
8、有右子树时,该结点即是叶子结点。图有右子树时,该结点即是叶子结点。图是一棵深度为是一棵深度为4 4的二叉树。的二叉树。t五种形态:空,根,左,右,左右五种形态:空,根,左,右,左右72 2)二叉树的基本性质二叉树的基本性质t性质性质1 1:在二叉树的第在二叉树的第k k层上,最多有层上,最多有2 2k k11个结点。个结点。根据二叉树的特点,这个性质是显然的。根据二叉树的特点,这个性质是显然的。t性质性质2 2:深度为:深度为k k的二叉树最多有的二叉树最多有2 2k k11个结点。个结点。深度为深度为k k的二叉树是指二叉树共有的二叉树是指二叉树共有k k层。根据性质层。根据性质1 1,只要
9、将第,只要将第1 1层到第层到第k k层上的最大的结点数相加,层上的最大的结点数相加,就可以得到整个二叉树中结点数的最大值,即就可以得到整个二叉树中结点数的最大值,即t性质性质3 3:在任意一棵二叉树中,度为在任意一棵二叉树中,度为0 0的结点(即的结点(即叶子结点)总是比度为叶子结点)总是比度为2 2的结点多一个,即的结点多一个,即 n0=n2+1 n0=n2+1t性质性质4 4:具有:具有n n个结点的完全二叉树的深度为个结点的完全二叉树的深度为 int int(log2nlog2n)+1+1 8t满二叉树:满二叉树:满二叉树是一棵深度为满二叉树是一棵深度为k,结点数为,结点数为2K-1
10、的二叉树。的二叉树。t完全二叉树:完全二叉树:完全二叉树是满二叉树在最下层自右向完全二叉树是满二叉树在最下层自右向左去除部分结点;左去除部分结点;93 3)二叉树的存贮表示:)二叉树的存贮表示:t顺序存贮:顺序存贮:二叉树的顺序存储结构就是把二叉树的二叉树的顺序存储结构就是把二叉树的所有结点按照层次顺序存储到连续的存储单所有结点按照层次顺序存储到连续的存储单元中。(存储前先将其画成完全二叉树)元中。(存储前先将其画成完全二叉树)t链表表示:链表表示:lchildlchild,datadata,rchlid rchlid 104 4)遍历:)遍历:根据访问结点的次序不同可得三种遍历:根据访问结点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件基础串讲 软件 基础 串讲 PPT 课件
限制150内