人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第5章 树和二叉树

第5章和二又州 本章中主要介绍下列内容: 树的逻辑定义和存储结构 二叉树的逻辑定义、存储结构 二叉树的基本操作算法 树和二叉树的转换 哈夫曼树及其应用 请单赤鼠标左键换页! 退出
第5章 树和二叉树 本章中主要介绍下列内容: ⚫ 树的逻辑定义和存储结构 ⚫ 二叉树的逻辑定义、存储结构 ⚫ 二叉树的基本操作算法 ⚫ 树和二叉树的转换 ⚫ 哈夫曼树及其应用 退出

5.2二叉树 5.3哈未最越及其应 请单赤鼠标左键换页!
5.1 树 5.2 二叉树 5.3 哈夫曼树及其应用

51树 5.1.1树的定义和基本运算 1.定义 树是一种常用的非线性结构。我们可以这样定义: 树是n(n≥0)个结点的有限集合。若n=0,则称为空 树;否则,有且仅有一个特定的结点被称为根,当n>1 时,其余结点被分成m(m>0)个互不相交的子集T1, T2,…,Tm,每个子集又是一棵树。由此可以看出, 树的定义是递归。 请单赤鼠标左键换页!
5.1 树 5.1.1 树的定义和基本运算 1. 定义 树是一种常用的非线性结构。我们可以这样定义: 树是n(n≥0)个结点的有限集合。若n=0,则称为空 树;否则,有且仅有一个特定的结点被称为根,当n>1 时,其余结点被分成m(m>0)个互不相交的子集T1, T2,...,Tm,每个子集又是一棵树。由此可以看出, 树的定义是递归

B 图5-1 请单赤鼠标左键换页!
图 5-1 K L M E F G H I J B C D A A (a) (b) (c)

结点数据元素的内容及其指向其子树根的分支统 称为结点。 结点的度结点的分支数。 终端结点(叶子)度为0的结点。 非终端结点度不为0的结点。 结点的层次树中根结点的层次为1,根结点子树 的根为第2层,以此类推。 树的度树中所有结点度的最大值。 树的深度树中所有结点层次的最大值。 有序树、无序树如果树中每棵子树从左向右的排 列拥有一定的顺序,不得互换,则称为有序树,否则 称为无序树。 请单鼠标左键换页!
结点 数据元素的内容及其指向其子树根的分支统 称为结点。 结点的度 结点的分支数。 终端结点(叶子) 度为0的结点。 非终端结点 度不为0的结点。 结点的层次 树中根结点的层次为1,根结点子树 的根为第2层,以此类推。 树的度 树中所有结点度的最大值。 树的深度 树中所有结点层次的最大值。 有序树、无序树 如果树中每棵子树从左向右的排 列拥有一定的顺序,不得互换,则称为有序树,否则 称为无序树

森林是m(m≥0)棵互不相交的树的集合。 在树结构中,结点之间的关系又可以用家族关系 描述,定义如下: 孩子、双亲结点子树的根称为这个结点的孩子, 而这个结点又被称为孩子的双亲。 子孙以某结点为根的子树中的所有结点都被称 为是该结点的子孙。 祖先从根结点到该结点路径上的所有结点。 兄弟同一个双亲的孩子之间互为兄弟。 堂兄弟双亲在同一层的结点互为堂兄弟。 请单赤鼠标左键换页!
森林 是m(m≥0)棵互不相交的树的集合。 在树结构中,结点之间的关系又可以用家族关系 描述,定义如下: 孩子、双亲 结点子树的根称为这个结点的孩子, 而这个结点又被称为孩子的双亲。 子孙 以某结点为根的子树中的所有结点都被称 为是该结点的子孙。 祖先 从根结点到该结点路径上的所有结点。 兄弟 同一个双亲的孩子之间互为兄弟。 堂兄弟 双亲在同一层的结点互为堂兄弟

2.树的基本运算 常用操作: (1)构造一个树 CreateTree(① (2)清空以T为根的树 ClearTree( (3)判断树是否为空 TreeEmpty(T (4)获取给定结点的第论个孩子 Child(T, node i) (5)获取给定结点的双亲 Parent(T,node) (6)遍历树 Traverse(T 对树遍历的主要目的是将非线性结构通过遍历过程 线性化,即获得一个线性序列。树的遍历顺序有两种, 种是先序遍历,即先访问根结点,然后再依次用同 样的方法访问每棵子树;另一种是后序遍历,即先依 请单赤鼠标左键换页!
2. 树的基本运算 常用操作: (1) 构造一个树 CreateTree (T) (2)清空以T为根的树 ClearTree(T) (3)判断树是否为空 TreeEmpty(T) (4)获取给定结点的第i个孩子 Child(T,node,i) (5)获取给定结点的双亲 Parent(T,node) (6)遍历树Traverse(T) 对树遍历的主要目的是将非线性结构通过遍历过程 线性化,即获得一个线性序列。树的遍历顺序有两种, 一种是先序遍历,即先访问根结点,然后再依次用同 样的方法访问每棵子树;另一种是后序遍历,即先依

5.1.2树的存储结构 1.双亲表示法 树的双亲表示法主要描述的是结点的双亲关系。 请单鼠标左键换页!
5.1.2 树的存储结构 1. 双亲表示法 树的双亲表示法主要描述的是结点的双亲关系

下标 info paren 0123456789 ABCDEFGH 000 3666 图5-3 请单鼠标左键换页!
图 5-3 下标 info paren t 0 A -1 1 B 0 2 C 0 3 D 0 4 E 1 5 F 1 6 G 3 7 H 6 8 I 6 9 J 6 H I J E F G B C D A A B C D E F G H I J

类型定义: #define max tree node size 1oo typedef struct i TEntryType info; int parent; 3 ParentNode typedef struct ParentNode item MAX TREE NODE SIZE; intn;∥树中当前的结点数目 iParentTree 请单鼠标左键换页!
类型定义: #define MAX_TREE_NODE_SIZE 100 typedef struct { TEntryType info; int parent; } ParentNode; typedef struct { ParentNode item[MAX_TREE_NODE_SIZE]; int n; //树中当前的结点数目 }ParentTree;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第4章 串和数组.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第3章 栈和队列.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第2章 线性表.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第1章 数据结构基础概论.ppt
- MATLAB简介.doc
- 高等学校计算机专业教材:《数值计算方法》课程教学资源(PPT课件)第六章 常微分方程数值解法.ppt
- 高等学校计算机专业教材:《数值计算方法》课程教学资源(PPT课件)第五章 线性规划.ppt
- 高等学校计算机专业教材:《数值计算方法》课程教学资源(PPT课件)第四章 线性代数方程组的解法.ppt
- 高等学校计算机专业教材:《数值计算方法》课程教学资源(PPT课件)第三章 数值积分.ppt
- 高等学校计算机专业教材:《数值计算方法》课程教学资源(PPT课件)第二章 贝齐尔曲线和B样条曲线.ppt
- 高等学校计算机专业教材:《数值计算方法》课程教学资源(PPT课件)第一章 插值方法.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第一章 程序设计概述.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第五章 预处理命令.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第四章 函数和程序结构.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第三章 语句及控制结构.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第七章 指针.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第六章 数组.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第九章 文件.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第二章 数据类型、运算符与表达式.ppt
- 北京语言文化大学:《C语言程序设计导论》课程教学资源(PPT课件)第八章 结构及其它.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第6章 图.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第7章 查找.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第8章 排序.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第9章 文件.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿,第二版)第一章 电子商务概述(宋文官).ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿,第二版)第三章 EDI商务.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿,第二版)第四章 企业电子商务应用.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿,第二版)第五章 网上支付与安全交易.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿,第二版)第六章 网络营销.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿,第二版)第七章 电子商务与物流.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿,第二版)第八章 网站设计.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第1章 引论.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第10章 静态链接库和动态链接库.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第11章 打印与打印预览.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第12章 高级编程.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第2章 Windows 窗口命令.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第3章 对话框和常见控件.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第4章 ActiveX控件.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第5章 文档/视结构.ppt
- 人民邮电出版社:高等学院计算机专业教材《Windows程序设计》课程教学资源(PPT课件讲稿)第6章 图形设备接口.ppt