- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课 时 教 案
周 次 第 周第 13 次课 课 题 §4.1树的逻辑结构和存储结构 授课
类型 理论课( √ )、实践课( )、实习( ) 时间设计
授
课
内
容
与
教
学
设
计 第四章 树和二叉树
教学目的要求:
本章主要介绍树的基本概念,树的存储表示,树的遍历,树、森林和二叉树的转换,二叉树的定义、性质和存储结构,二叉树的遍历,哈夫曼树及其应用。要求学生掌握树和二叉树的递归定义、有关的术语及基本概念;二叉树的性质及其表示方法,二叉树的存储结构;二叉树的三种遍历;树、森林和二叉树之间的相互转换;树、森林的遍历及存储结构;哈夫曼树的建立及其应用。
§4.1树的逻辑结构和存储结构
4.1 .1 树型结构实例
1.家族树
图4-1 家族树
2.书的目录结构
图4-2 书的目录
4.1 .2 树的定义
1.树的定义
树(Tree)是n (n≥0)个结点的有限集(记为T),T为空时称为空树,否则它满足以下两个条件:
(1) 有且仅有一个结点没有前驱,称该结点为根结点(Root);
(2) 除根结点以外,其余结点可分为m(m≥0)个互不相交的有限集合T0,Tl,…,Tm-1T0,Tl,…,Tm-1Subtree)。每棵子树的根结点有且仅有一个直接前驱,但可以有0个或多个后继。
树的逻辑结构表示数据之间的关系是一对多,或者多对一的关系。它的结构特点具有明显的层次关系,是一种十分重要的非线性的数据结构。
图4-3 树的示例
图4-3 (a)是一棵只有一个根结点的树;图4-3 (b)是一棵有12个结点的树,即T={A,B,C,…,K,L }A是树根,除根结点A之外,其余的11个结点分为三个互不相交的集合。T1,T2T3是根A的三棵子树,且本身又都是一棵树。所以树的定义是递归的 。
2.树的基本术语
树的结点包含一个数据元素及若干指向其子树的分支。
(1) 结点的度:一个结点拥有的子树个数,度为零的结点称为叶结点;
(2) 树的度:树中所有结点的度的最大值 Max(D(I))
含义:树中最大分支数为树的度;
(3) 结点的层次及树的深度:根为第一层,根的孩子为第二层,若某结点为第k层,则其孩子为k+1层.
树中结点的最大层次称为树的深度或高度
(4)森林:是m(m=0)棵互不相交的树的集合
森林与树概念相近,相互很容易转换.
(5)有序树、无序树 如果树中每棵子树从左向右的排列拥有一定的顺序,不得互换,则称为有序树,否则称为无序树。
在树结构中,结点之间的关系又可以用家族关系描述,定义如下:
(6)孩子、双亲: 结点子树的根称为这个结点的孩子,而这个结点又被称为孩子的双亲。
(7)子孙: 以某结点为根的子树中的所有结点都被称为是该结点的子孙。
(8)祖先: 从根结点到该结点路径上的所有结点。
(9)兄弟: 同一个双亲的孩子之间互为兄弟。
(10)堂兄弟: 双亲在同一层的结点互为堂兄弟。
3. 树的基本运算
树的基本运算主要有:
(⒈) 初始化操作INITIATE(T):创建一棵空树。
(⒉) 求根函数ROOT(T):求树T的根;ROOT(X):求结点x所在树的根。
(⒊) 求双亲函数PARENT(T,x):在树T中求x的双亲。
(⒋) 求第i个孩子函数CHILD(T,x,i):在树T中求结点x的第i个孩子。
(⒌) 建树函数CRT-TREE(x,F):建立以结点x为根,森林F为子树的树。
(6.)遍历树操作TRAVERSE(T):按顺序访问树T中各个结点。
4.1.3 树的表示
树的逻辑表示方法有多种,常见的有 :
1. 树形图表示法
2. 嵌套集合表示法(文氏图表示法)
3. 凹入表示法
4. 广义表表示法
4.1.4 树的存储结构
和线性表一样,树可以用顺序和链式两种存储结构。
树的顺序存储结构适合树中结点比较“满”的情况。根据树的非线性结构特点,常用链式存储方式来表示树。树常用的存储方法有:双亲存储表示法、孩子链表表示法和孩子兄弟链表表示法。
1.双亲存储表示法
一般采用顺序存储结构实现。用一组地址连续的存储单元来存放树的结点,每个结点有两个域:
data域-----存放结点的信息;
parent域-----存放该结点双亲结点的位置
特点:求结点的双亲很容易,但求结点的孩子需要遍历整个向量。
存储结构描述为:
#define MaxTreeSize 100 //定义数组空间的大小
typedef char DataType; //typedef struct
{ DataType data; //int parent; //} PTreeN
您可能关注的文档
最近下载
- 2025年吉林省珲春市辅警招聘考试题库及答案.docx
- Welcome unit Discovering Useful Structures 句子成分课件-2024-2025学年高一上学期英语人教版(2019)必修第一册.pptx VIP
- 护理实习生管理制度及安全教育.ppt VIP
- 小学英语句子成分基础篇.doc VIP
- 英语的句子成分.ppt VIP
- 小学英语语法课件-人称代词课件(全国通用版)(共90张PPT).pptx VIP
- 供热运行安全课件.pptx VIP
- 2024屋顶分布式光伏电站建设规范.docx VIP
- 2025年2月上海市高三联考高考调研英语试题(答案详解) .pdf VIP
- ccs软件与proteus联合仿真建立dsp虚拟实验系统.pdf VIP
文档评论(0)