塔里木大学:《数据结构》课程教学课件(PPT讲稿)第六章 树和二叉树

6.1树的类型定义6.2 二叉树的类型定义6.3二叉树的存储结构6.4二叉树的遍历6.5线索二叉树6.6树和森林的表示方法6.7树和森林的遍历6.8哈夫曼树与哈夫曼编码
6.1 树的类型定义 6.2 二叉树的类型定义 6.3 二叉树的存储结构 6.4 二叉树的遍历 6.5 线索二叉树 6.6 树和森林的表示方法 6.7 树和森林的遍历 6.8 哈夫曼树与哈夫曼编码

6.1树的类型定义
6.1 树的类型定义

数据对象D:D是具有相同特性的数据元素的集合数据关系R:若D为空集,则称为空树。否则:(1)在D中存在唯一的称为根的数据元素root;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集Ti,T2,…,Tm,其中每一棵子集本身又是一棵符合本定义的树,称为根roo的子树
数据对象 D: D是具有相同特性的数据元素的集合。 若D为空集,则称为空树。 否则: (1) 在D中存在唯一的称为根的数据元素root; (2) 当n>1时,其余结点可分为m (m>0)个互 不相交的有限集T1 , T2 , ., Tm,其中每一 棵子集本身又是一棵符合本定义的树, 称为根root的子树。 数据关系 R:

例如:AcDBJFGHEKLMA( B(E, F(K, L),, C(G), ,(H, I, J(M)树根TiT3T2
A B C D E F G H I J K L M A( B(E, F(K, L)), C(G), D(H, I, J(M)) ) 树根 T1 T2 T3 例如:

基本操作:查找类插入类删除类
基本操作: 查 找 类 插 入 类 删 除 类

查找类:Root(T)//求树的根结点Value(T,cure)//求当前结点的元素值Parent(T,cur e)//求当前结点的双亲结点LeftChild(T,cure)//求当前结点的最左孩子RightSibling(T,cur e)//求当前结点的右兄弟TreeEmpty(T)//判定树是否为空树TreeDepth(T)//求树的深度TraverseTree(T,VisitO)//遍历
Root(T) // 求树的根结点 查找类: Value(T, cur_e) // 求当前结点的元素值 Parent(T, cur_e) // 求当前结点的双亲结点 LeftChild(T, cur_e) // 求当前结点的最左孩子 RightSibling(T, cur_e) // 求当前结点的右兄弟 TreeEmpty(T) // 判定树是否为空树 TreeDepth(T) // 求树的深度 TraverseTree( T, Visit() ) // 遍历

插入类:InitTree(&T)//初始化置空树CreateTree(&T,definition)/按定义构造树Assign(T, cur e, value)//给当前结点赋值InsertChild(&T, &p, i, c)//将以c为根的树插入为结点p的第棵子树U
InitTree(&T) // 初始化置空树 插入类: CreateTree(&T, definition) // 按定义构造树 Assign(T, cur_e, value) // 给当前结点赋值 InsertChild(&T, &p, i, c) // 将以c为根的树插入为结点p的第i棵子树

删除类:ClearTree(&T)//将树清空DestroyTree(&T)//销毁树的结构DeleteChild(&T, &p, i)//删除结点p的第棵子树U
ClearTree(&T) // 将树清空 删除类: DestroyTree(&T) // 销毁树的结构 DeleteChild(&T, &p, i) // 删除结点p的第i棵子树

例如:AcDBJFGHEKLMA( B(E, F(K, L),, C(G), ,(H, I, J(M)树根TiT3T2
A B C D E F G H I J K L M A( B(E, F(K, L)), C(G), D(H, I, J(M)) ) 树根 T1 T2 T3 例如:

树形图表示的例子ABEAKDBHFBEMO行G的oEFRD①HCMLMG工嵌套集合表示法凹入表示法(A(B(E(K,L),F),C(G),D(H(MD),I,J)广义表表示法
树形图表示的例子 A B K E L F H D M J I C G 嵌套集合表示法 A B C D E K L F G H I J M 凹入表示法 (A(B(E(K,L),F),C(G),D(H(M),I,J))) 广义表表示法 A B C D E F G H I J K L M
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 塔里木大学:《数据结构》课程教学课件(PPT讲稿)五章 数组和广义表.pptx
- 塔里木大学:《数据结构》课程教学课件(PPT讲稿)第四章 串.pptx
- 塔里木大学:《数据结构》课程教学课件(PPT讲稿)第三章 栈和队列.pptx
- 塔里木大学:《数据结构》课程教学课件(PPT讲稿)第二章 线性表.pptx
- 塔里木大学:《数据结构》课程教学课件(讲稿)第一章 绪论.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训十 简单内部排序.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训九 基本查找算法.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训八 图的拓扑排序、最短路径.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训七 图的建立与存储.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训六 树的应用.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训五 二叉树.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训四 串的操作与稀疏矩阵的压缩.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训三 栈与队列的基本操作.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训二 链表的操作.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)实训一 顺序表的建立与基本操作.pdf
- 塔里木大学:《数据结构》课程教学资源(实验讲义)数据结构实验指导书.pdf
- 塔里木大学:《数据结构》课程教学资源(试卷习题)十套模拟试题(含参考答案).pdf
- 塔里木大学:《数据结构》课程实验教学大纲(数据结构与算法).docx
- 塔里木大学:《数据结构》课程教学大纲(数据结构与算法).docx
- 《C语言程序设计》课程教学课件(PPT讲稿)第09章 用户自己建立数据类型.pptx
- 塔里木大学:《数据结构》课程教学课件(PPT讲稿)第七章 图.pptx
- 塔里木大学:《数据结构》课程教学课件(PPT讲稿)第九章 查找.ppt
- 塔里木大学:《数据结构》课程教学课件(PPT讲稿)第十章 排序.pptx
