数据结构(C语言)中ppt177.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(C语言)中ppt177

数据结构(C语言)中 第5章 树 (时间:3次课,6学时) 第5章 树 教学提示:在前面2~4章中介绍了线性表、栈、队列、数组、串等,它们的逻辑结构都是线性的,即数据之间存在着一对一的关系,表示数据的结点间具有惟一前驱和惟一后继。然而,在实际应用中常常遇到非线性关系。非线性结构的特征是结点间的关系不具有惟一性。本章介绍的树型结构,其结点间关系具有惟一的前驱而后继不惟一,即结点之间是一对多的关系。 教学目标:通过本章的学习,用户应掌握树的逻辑结构、存储结构及其基本操作;学会利用树、二叉树的特性、遍历的递归算法以及哈夫曼算法解决实际问题。 第5章 树 5.1 树 5.2 二叉树 5.3 树和森林 5.4 上机实习 5.5 习题 5.1 树 5.1.1 树的基本概念 5.1.2 树的表示 5.1.3 树的基本运算 5.1.1 树的基本概念 5.1.1 树的基本概念 5.1.1 树的基本概念 5.1.2 树的表示 5.1.2 树的表示 5.1.3 树的基本运算 5.1.3 树的基本运算(2) 5.2 二 叉 树 5.2.1 二叉树的概念 5.2.2 二叉树的性质 5.2.2 二叉树的性质 5.2.1 二叉树的概念 5.2.1 二叉树的概念 5.2.1 二叉树的概念 5.2.1 二叉树的概念 5.2.1 二叉树的概念 5.2.1 二叉树的概念 5.2.2 二叉树的性质 二叉树具有下列重要特性: 1. 性质1: 在二叉树的第i层上至多有2i-1个结点(i≥1)。 2. 性质2: 深度为k的二叉树至多有2k –1个结点(k≥1)。 3. 性质3: 对任意一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。 4. 性质4: 具有n个结点的完全二叉树的深度为[log2n] +1。 5. 性质5: 对于具有n个结点的完全二叉树,如果按照从上到下和从左到右的顺序对二叉树中的所有结点从1开始顺序编号,则对于任意的序号为i的结点有: (1) 若i=1,则序号为i的结点是二叉树的根结点,无双亲,如i1,则序号为i的结点的双亲结点序号为[i/2]。 (2) 若2in,则序号为i的结点无左孩子;若2i≤n,则序号为i的结点的左孩子结点的序号为2i; (3) 若2i+1n,则序号为i的结点无右孩子;若2i+1≤n,则序号为i的结点的右孩子结点的序号为2i+1。 5.2.3 二叉树的存储结构 5.2.3 二叉树的存储结构 5.2.3 二叉树的存储结构 5.2.3 二叉树的存储结构 5.2.3 二叉树的存储结构 5.2.3 二叉树的存储结构 5.2.4 二叉树的遍历 5.2.4 二叉树的遍历 5.2.4 二叉树的遍历__算法 5.2.4 二叉树的遍历__算法 5.2.4 二叉树的遍历__算法 5.2.4 二叉树的遍历__例 5.2.5 哈夫曼树和哈夫曼编码 5.2.5 哈夫曼树和哈夫曼编码 5.2.5 哈夫曼树和哈夫曼编码 5.2.5 哈夫曼树和哈夫曼编码 5.2.5 哈夫曼树和哈夫曼编码__例 5.2.5 哈夫曼树和哈夫曼编码__例 5.3 树 和 森 林 5.3.1 树的存储结构 5.3.2 树、森林与二叉树的转换 5.3.3 树和森林的遍历 5.3.1 树的存储结构 1. 双亲表示法 树中每个结点的孩子可能有任意多个,但其双亲只有一个。双亲表示法是通过结点与双亲之间的关系将树中结点组织在一起。该存储结构以一组连续空间存储树的结点,同时在每个结点上附设一个指示器,指示其双亲结点的位置。 2. 孩子表示法 孩子表示法是树的一种链式存储结构,其设计思想有两种,其一是建立一个多重链表,存放树中每个结点及其多棵子树,即每个结点由一个数据字段和多个指针字段组成,数据字段中存放该结点的数据元素,每个指针字段中的指针指向一棵子树的根结点。 3. 孩子兄弟表示法 孩子兄弟表示法又称二叉树表示法,或二叉链表表示法。即以二叉链表作为树的存储结构,链表中结点的两个字段分别指向该结点的第一个孩子结点和下一个兄弟结点,分别命名为firstchild字段和nextsibling字段。 利用孩子兄弟表示法存储树,能方便地实现树的各种操作。特别是易于实现查找某结点的孩子结点的运算。 5.3.1 树的存储结构 双亲表示的存储结构类型定义如下: #define MAX 100 typedef struct PTNode { TelemType data; int parent; /* 双亲位置字段*/ }PTNode; typedef struct {

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档