- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章_树与二叉树_6.1与6.2
复习回顾
线性结构(线性表、栈、队列、串)特点:
数据元素之间的逻辑结构是1:1
数据元素之间相互独立(不存在依赖关系)
除头结点和尾结点外每个结点都有且只有一个直接前驱和一个直接后继。
提出问题
数据元素之间是1:1关系吗?
1:n
数据元素之间是相互独立的吗?
数据元素之间存在依赖关系
数据结构课程的内容
3
逻辑结构
线性结构 (线性表、栈、队、串、数组)
非线性结构
树结构
图结构
储存结构
顺序结构
链式结构
数据运算
插入运算
删除运算
查找运算
修改运算
......
第6章 树和二叉树
教学内容
6.1 树的定义和基本术语
树和森林的概念(树的定义、树的术语、性质及运算)
6.2 二叉树(★★★★★)
二叉树的定义、性质及运算;
二叉树的存储结构(顺序、链式表示);
6.3 遍历二叉树和线索二叉树(★★★★★)
6.4 树和森林
树的存储结构;
树、森林与二叉树的转换;
遍历树;
遍历森林;
6.6 赫夫曼树及其应用(★★★★)
哈夫曼树、哈夫曼编码。
6.1 树的定义和基本术语
6.1.1 树的定义
6.1.2 树的逻辑结构
6.1.3 树的若干术语
6
6.1.1 树的定义
注:树的定义具有递归性,即“树中还有树”。
树是由n个结点组成的有限集合(记为T);
若n=0,是一棵空树;
若n0,有且仅有一个结点称为根(root),其余的结点分为m(m≥0)个互不相交的有限集T1,T2,…,Tm,每个集合本身又是棵树,称为根结点的子树。
7
Ti
T2
T1
Tm
T
6.1.2 树的逻辑结构
树是一种非线性数据结构(一对多, 1:n),每一结点可以有 后继结点,但 前驱结点(根结点除外)。树只有一个 ,且子树之间互不相交。
8
零个或多个
有且只有一个
根结点
结点的度:结点拥有的子树数。
度 = 0
叶子
终端结点
度 =3
分支结点
非终端结点
树的度:树内各结点的度的最大值。
结点的祖先:从根到该结点所经分支上的所有结点。
结点的子孙:以某结点为根的子树中的任一结点。
第 1 层
第 2 层
第 3 层
树的深度/高度:树中结点的最大层次。
有序树:树中结点的各子树从左至右有次序。
无序树:树中结点的各子树无次序。
结点:数据元素+ 指向子树的分支
根结点:非空树中无前驱结点的结点
第 4 层
堂兄弟
双亲在同一层的结点
6.1.3 树的若干术语
6.1.3 树的若干术语——课堂练习
图中的结点数=
树的度=
树的深度=
13
3
4
10
自学:树的抽象数据类型定义
(见教材P118-119)
ADT Tree{
数据对象D:
数据关系R:
基本操作 P:
}ADT Tree
D是具有相同特性的数据元素的集合。
若D为空集,则称为空树;//允许n=0
若D中仅含一个数据元素,则R为空集;
其他情况下的R存在二元关系:
① root 唯一 //关于根的说明
② Dj∩Dk= Φ //关于子树不相交的说明
③ …… //关于数据元素的说明
//至少有15个,如求树深,求某结点的双亲
11
6.2 二叉树
颤抖吧,程序猿,真实的野生二叉树!
为何要重点研究每结点最多只有两个“叉”的树?
二叉树的结构最简单,规律性最强;
可以证明,所有树都能转为唯一对应的二叉树,不失一般性。
6.2 二叉树
13
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的存储结构
6.2.1 二叉树的定义
是n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。
一对二(1:2)
① 每个结点最多只有两棵子树(不存在度大于2的结点);
② 左子树和右子树次序不能颠倒。
问:具有3个结点的二叉树可能有几种不同形态?
有5种
基本形态:
14
定义:
逻辑结构:
基本特征:
二叉树的抽象数据类型定义(见教材P121-123)
ADT BinaryTree{
数据对象D:
数据关系R:
基本操作 P:
}ADT BinaryTree
D是具有相同特性的数据元素的集合。
若D=Φ,则R= Φ ;
若D≠Φ,则R= {H};存在二元关系:
① root 唯一 //关于根的说明
② Dj∩Dk= Φ //关于子树不相交的说明
③ …… //关于数据元素的说明
④ …… //关于左子树和右子树的说明
您可能关注的文档
- 第6章 物流运输网络及工具.ppt
- 第6章 港口竞争及协调.pptx
- 第6章 滤波器原理及结构.ppt
- 第6章 数控机床机械结构与部件.ppt
- 第6章 砌筑材料与屋面材料.ppt
- 第6章 生产机械电气自动控制.ppt
- 第6章 磁路及变压器.ppt
- 第6章 违反消防法刑事责任1.ppt
- 第6章 黏性流体一维定常流动.ppt
- 第6章 钢热处理.ppt
- 小平方房屋买卖合同(28篇).docx
- 渭华起义馆观后感作文500字五篇.docx
- 自然语言处理NLPTextRNN实现情感分类.docx
- 清明节继承先烈遗志演讲稿700字(24篇).docx
- 语文五年级上册第18课慈母情深部编版.docx
- Unit5Thevalueofmoneywords1单词课件高中人教版(2019)(1).pptx
- 中考英语话题复习之兴趣爱好省公开课金奖全国赛课一等奖微课获奖课件.pptx
- Unit1FestivalsandCelebrationsReadingandthinking课件-人教版高中英语.pptx
- 监狱防爆车采购合同协议.docx
- 电力服务代办合同协议.docx
文档评论(0)