浙江大学:《数据结构与算法》第六章(6-1) 树的定义和基本术语

第六章树和二叉树 6.1树的定义和基本术语 6.2二叉树 6.2.1二叉树的定义 6.2.2二叉树的性质 6.2.3二叉树的存储结构 6.3遍历二叉树和线索二叉树 6.3.1遍历二叉树 6.3.2线索二叉树 6.4树和森林 6.4.1树的存储结构 6.4.2森林与二叉树的转换 6.6赫夫曼树及其应用 6.6.1最优二叉树(赫夫曼树)
第 六 章 树和二叉树 6.1 树的定义和基本术语 6.2 二叉树 6.2.1 二叉树的定义 6.2.2 二叉树的性质 6.2.3 二叉树的存储结构 6.3 遍历二叉树和线索二叉树 6.3.1 遍历二叉树 6.3.2 线索二叉树 6.4 树和森林 6.4.1 树的存储结构 6.4.2 森林与二叉树的转换 6.6 赫夫曼树及其应用 6.6.1 最优二叉树(赫夫曼树)

第六章树和二叉树 6.1树的定义和基本术 非线性数据结构 树的递归定义: 树(tree)是n(>=0)个结点的有限集 当n>0时, (1)有且仅有一个特定的称为根(root)的结点 (2)当n>1时,其余结点可分为mm>0)个互不相 交的有限集T1,T2,,Tm,其中每个集合本身又是 棵树。称为子树( subtree)
第六章 树和二叉树 6.1 树的定义和基本术语 非线性数据结构。 树的递归定义: 树(tree)是n(n>=0)个结点的有限集。 当n>0时, (1)有且仅有一个特定的称为根(root)的结点; (2)当n>1时,其余结点可分为m(m>0)个互不相 交的有限集T1 ,T2 ,...,Tm,其中每个集合本身又是一 棵树。称为子树(subtree)

树的示例 层次 A A 空树只有根结点 D 0的树n=1 B E F( H K 般的树
树的示例 空树 n=0 层次 1 2 3 4 一般的树 A B C D E F G H I J K L 只有根结点 的树 n=1 A

树的抽象数据类型定义: ADT Tree 数据对象D:D是具有相同特性的数据元素的集 数据关系R:若D为空集,则称为空树 若D仅含一个数据元素,则R为空集,否则R={H H是如下二元关系: 1)在D中存在唯一的称为根的数据元素root,它在 关系H下无前驱; 2)若D-{root}≠φ,则存在D-{root}的一个 划分D1,D D(m>0 对任意j≠k(1 有DnD=3,直对任意的(1≤m),唯一存在数据 素x1D,有H (3)对应于D-{root}的划分,H-{, 0 m 对任意≠k(1≤jk≤m)有再∩H=中,且对任意的i m),H1:是D.上的二元关系 {H1})是 棵符合本定义的树,称为根root的子树
树的抽象数据类型定义: ADT Tree{ 数据对象D:D是具有相同特性的数据元素的集合。 数据关系R:若D为空集,则称为空树; 若D仅含一个数据元素,则R为空集,否则R={H}, H是如下二元关系: (1)在D中存在唯一的称为根的数据元素root,它在 关系H下无前驱; (2)若D-{root}≠φ,则存在D-{root}的一个 划分D1 , D2 , ..., Dm (m>0),对任意j≠k(1≤j,k≤m) 有Dj∩Dk=φ ,且对任意的i(1≤i≤m),唯一存在数据 元素xiξDi,有ξH; (3)对应于D-{root}的划分,H-{,...., }有唯一的一个划分H1 , H2 ,..., Hm (m>0), 对任意j≠k(1≤j,k≤m)有Hj∩Hk=φ ,且对任意的i (1≤i≤m),Hi 是Di上的二元关系,(Di ,{Hi})是一 棵符合本定义的树,称为根root的子树

树的抽象数据类型定义: 基本操作(之一) iniTTREE (&T) 操作结果:构造空树T DESTRoYTREE(&t) 初始条件:树T存在。 操作结果:销毁树T。 createtreE (&T, DEFINITION 初始条件: DEFINITION给出树T的定义 操作结果:按 DEFINITION构造树T cleartree(&T) 初始条件:树T存在 操作结果:将树T清为空树
树的抽象数据类型定义: 基本操作(之一) INITTREE(&T); • 操作结果:构造空树T。 DESTROYTREE(&T); • 初始条件:树T存在。 • 操作结果:销毁树T。 CREATETREE(&T,DEFINITION); • 初始条件:DEFINITION给出树T的定义。 • 操作结果:按DEFINITION构造树T。 CLEARTREE(&T); • 初始条件:树T存在。 • 操作结果:将树T清为空树

树的抽象数据类型定义: 基本操作(之二) TREEEMPTY (T) 初始条件:树T存在 操作结果:若T为空树,则返回TURE,否则 FALSE。 TREEDEPTH (T) 初始条件:树T存在 操作结果:返回T的深度。 ROOT(T) 初始条件:树T存在 操作结果:返回T的根。 VALUE (T CUR E); 初始条件:树T存在,CURE是T中某个结点 操作结果:返回CURE的值
树的抽象数据类型定义: 基本操作(之二) TREEEMPTY(T) • 初始条件:树T存在。 • 操作结果:若T为空树,则返回TURE,否则FALSE。 TREEDEPTH(T) • 初始条件:树T存在。 • 操作结果:返回T的深度。 ROOT(T) • 初始条件:树T存在。 • 操作结果:返回T的根。 VALUE(T, CUR_E); • 初始条件:树T存在,CUR_E是T中某个结点。 • 操作结果:返回CUR_E的值

树的抽象数据类型定义: 基本操作(之三) ASSiGN(T, CUR E, VALUE 初始条件:树T存在,CURE是T中某个结点 操作结果:结点CURE赋值为 VALUE。 PARENT(T, CUR E) 初始条件:树T存在,CURE是T中某个结点。 操作结果:若CURE是T的非根结点,则返回它的双亲,否则 函数值为 LEFTCHILD(T, CUR E) 初始条件:树T存在,CURE是T中某个结点。 操作结果:若CURE是T的非叶子结点,则返回它的最左孩子 否则返回“空”。 RIGHTSIBLING (T, CUR E) 初始条件:树T存在,CURE是T中某个结点。 操作结果:若CURE有右兄弟,则返回它的右兄弟,否则函数 值为“空
树的抽象数据类型定义: 基本操作(之三) ASSIGN(T,CUR_E,VALUE) • 初始条件:树T存在,CUR_E是T中某个结点。 • 操作结果:结点CUR_E赋值为VALUE。 PARENT(T,CUR_E) • 初始条件:树T存在,CUR_E是T中某个结点。 • 操作结果:若CUR_E是T的非根结点,则返回它的双亲,否则 函数值为“空”。 • LEFTCHILD(T,CUR_E) • 初始条件:树T存在,CUR_E是T中某个结点。 • 操作结果:若CUR_E是T的非叶子结点,则返回它的最左孩子, 否则返回“空”。 RIGHTSIBLING(T,CUR_E) • 初始条件:树T存在,CUR_E是T中某个结点。 • 操作结果:若CUR_E有右兄弟,则返回它的右兄弟,否则函数 值为“空

树的抽象数据类型定义: 基本操作(之四) inserTChiLD(&T, &P, I, C) 初始条件:树T存在,P指向T中某个结点,1<<P所指结 点的度+1,非空树C与T不相交。 操作结果:插入C为T中P指结点的第I棵子树。 DELETECHILD(&t, &P, D 初始条件:树存在,P指向T中某个结点,1≤P指结点 的度。 操作结果:删除T中P所指结点的第I棵子树。 TRAVERSETREE (T, VISIT ()) 初始条件:树t存在,ⅥSIT是对结点操作的应用函数。 操作结果:按某种次序对T的每个结点调用函数VSIT 次且至多一次。一旦VSIT()失败,则操作失败 3 ADT TREE
树 的 抽 象 数 据 类 型 定 义 : 基本操作(之四) INSERTCHILD(&T,&P,I,C); • 初始条件:树T存在,P指向T中某个结点,1≤I≤P所指结 点的度+1,非空树C与T不相交。 • 操作结果:插入C为T中P指结点的第I棵子树。 DELETECHILD(&T,&P,I); • 初始条件:树T存在,P指向T中某个结点,1≤I≤P指结点 的度。 • 操作结果:删除T中P所指结点的第I棵子树。 TRAVERSETREE(T,VISIT()); • 初始条件:树t存在,VISIT是对结点操作的应用函数。 • 操作结果:按某种次序对T的每个结点调用函数VISIT() 一次且至多一次。一旦VISIT()失败,则操作失败。 }ADT TREE

树的基本术语(之一) 子树( subtree) 结点 结点的度( degree) 叶子(eaf)(终端结点) 分支结点(非终端结点)(F(G(H)(D 树的度
树的基本术语(之一) 子树(subtree) 结点 结点的度(degree) 叶子(leaf)(终端结点) 分支结点(非终端结点) 树的度 A B C D F G H I L

树的基本术语(之二) 孩子( child) A 双亲( parent 兄弟( sibling) B D 堂兄弟 祖先 F H 子孙
树的基本术语(之二) 孩子(child) 双亲(parent) 兄弟(sibling) 堂兄弟 祖先 子孙 A B C D F G H I L
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 浙江大学:《数据结构与算法》第五章(5-3) 矩阵的压缩存储.ppt
- 浙江大学:《数据结构与算法》第五章(5-1) 数组的定义.ppt
- 浙江大学:《数据结构与算法》第六章(6-3) 遍历二叉树和线索二叉树.ppt
- 浙江大学:《数据结构与算法》教学(讲课)周历.doc
- 浙江大学:《数据结构与算法》第三章(3-2) 栈的应用举例.ppt
- 浙江大学:《数据结构与算法》第三章(3-1) 栈.ppt
- 浙江大学:《数据结构与算法》第二章(2-1) 线性表的类型定义.ppt
- 浙江大学:《数据结构与算法》第二章(2-3) 线性表的链式表示与实现.ppt
- 浙江大学:《数据结构与算法》课程简介.doc
- 浙江大学:《数据结构与算法》第一章 绪论.ppt
- 浙江大学:《数据结构与算法》实验要求与指导.doc
- 浙江大学:《数据结构与算法》任课教师登记表.doc
- 浙江大学:《数据结构与算法》教学(实验)周历.doc
- 浙江大学:《数据结构与算法》教学大纲.doc
- 《Auto CAD 2002中文版应用教程》第9章 文字标注.pps
- 《Auto CAD 2002中文版应用教程》第8章 图案填充.pps
- 《Auto CAD 2002中文版应用教程》第7章 块与外部参照.pps
- 《Auto CAD 2002中文版应用教程》第6章 图形编辑.pps
- 《Auto CAD 2002中文版应用教程》第5章 绘制图形.pps
- 《Auto CAD 2002中文版应用教程》第4章 图层、线型及颜色.pps
- 浙江大学:《数据结构与算法》第七章(7-5) 有向无环图及其应用.ppt
- 浙江大学:《数据结构与算法》第四章(4-1) 串类型的定义.ppt
- 浙江大学:《数据结构与算法》第九章 查找.ppt
- 浙江大学:《数据结构与算法》第七章 图.ppt
- 浙江大学:《数据结构与算法》第十章 内部排序.ppt
- 浙江大学:《数据结构与算法》第六章(6-4) 树和森林.ppt
- 《Struts在行动 使用领先的Java框架构建Web应用》讲义.pdf
- 《网络系统集成技术》第10章 基于Web的应用系统开发技术.ppt
- 《网络系统集成技术》第11章 网络系统集成的规划与设计.ppt
- 《网络系统集成技术》第12章 大学校园网系统集成实例.ppt
- 《网络系统集成技术》第1章 网络系统集成概述.ppt
- 《网络系统集成技术》第2章 网络基础知识.ppt
- 《网络系统集成技术》第3章 常用的网络技术.ppt
- 《网络系统集成技术》第4章 网络服务器技术.ppt
- 《网络系统集成技术》第5章 网络存储备份技术.ppt
- 《网络系统集成技术》第6章 综合布线技术.ppt
- 《网络系统集成技术》第7章 网络互联技术.ppt
- 《网络系统集成技术》第8章 网络管理技术.ppt
- 《网络系统集成技术》第9章 网络安全技术.ppt
- 浙江大学:《电子商务安全》课程PPT教学课件_第九章 安全通信协议与交易协议.ppt