网站大量收购独家精品文档,联系QQ:2885784924

数据结构(C语言版)第六章 树.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 树 教学要求 1.掌握:树的概念及相关操作。 2.掌握:二叉树的概念、存储结构和遍历运算。 3.掌握:二叉排序树、哈夫曼树等典型树型结构的应用。 主要内容 6.1 树的基本概念 6.2 二叉树 6.3 遍历二叉树 6.4 线索二叉树 6.5 二叉排序树 6.6 树和森林 6.7 哈夫曼树和哈夫曼算法 6.8 实训 结点(node) 结点的度(degree) 分支(branch)结点 叶(leaf)结点 子女(child)结点 双亲(parent)结点 兄弟(sibling)结点 祖先(ancestor)结点 子孙(descendant)结点 结点所处层次(level) 树的高度(depth) 树的度(degree) 二叉树的表示 数组表示 6.3 遍历二叉树 (Binary Tree Traversal) 所谓树的遍历,就是按某种次序访问树中的结点,要求每个结点访问一次且仅访问一次。 设访问根结点记作 V 遍历根的左子树记作 L 遍历根的右子树记作 R 则可能的遍历次序有 前序 VLR 镜像 VRL 中序 LVR 镜像 RVL 后序 LRV 镜像 RLV 中序遍历 (Inorder Traversal) 中序遍历二叉树算法的框架是: 若二叉树为空,则空操作; 否则 中序遍历左子树 (L); 访问根结点 (V); 中序遍历右子树 (R)。 遍历结果 a + b * c - d - e / f 前序遍历 (Preorder Traversal) 前序遍历二叉树算法的框架是 若二叉树为空,则空操作; 否则 访问根结点 (V); 前序遍历左子树 (L); 前序遍历右子树 (R)。 遍历结果 - + a * b - c d / e f 后序遍历 (Postorder Traversal) 后序遍历二叉树算法的框架是 若二叉树为空,则空操作; 否则 后序遍历左子树 (L); 后序遍历右子树 (R); 访问根结点 (V)。 遍历结果 a b c d - * + e f / - 6.4 线索化二叉树 (Threaded Binary Tree) 6.6 树与森林 二叉树的计数 由二叉树的前序序列和中序序列可唯一地确定一棵二叉树。例, 前序序列 { ABHFDECKG } 和中序序列 { HBDFAEKCG }, 构造二叉树过程如下: 6.7 霍夫曼树 (Huffman Tree) 本章小结 树 树的定义、树的基本运算 树的分层定义是递归的 树中结点个数与高度的关系 二叉树 二叉树定义、基本运算 二叉树性质 二叉树结点个数与高度的关系 不同二叉树棵数 完全二叉树的顺序存储 完全二叉树的双亲、子女和兄弟的位置 二叉树的前序 · 中序 · 后序 · 层次遍历 前序 · 中序 · 后序的线索化二叉树中前驱与后继的查找方法 应用二叉树遍历的递归算法 霍夫曼树 霍夫曼树的构造方法 霍夫曼编码 带权路径长度的计算 树的存储 树的广义表表示与双亲表示 树与二叉树的对应关系 树的先根 · 后根 · 层次遍历 堆 堆的定义、堆的插入与删除 形成堆时用到的向下调整算法 形成堆时比较次数的上界估计 堆插入时用到的向上调整算法 堆的插入与删除算法 ? 左子女-右兄弟表示法 第一种解决方案 第二种解决方案 树的左子女-右兄弟表示 data child1 child2 child3 childd data firstChild nextSibling 森林与二叉树的转换 森林与二叉树的对应关系 (1) 森林转化成二叉树的规则 ? 若 F 为空,即 n = 0,则 对应的二叉树 B 为空二叉树。 ? 若 F 不空,则 对应二叉树 B 的根 root (B) 是 F 中第一棵树 T1 的根 root (T1); 其左子树为 B (T11, T12, …, T1m),其中,T11, T12, …, T1m 是 root (T1) 的子树; 其右子树为 B (T2, T3, …, Tn),其中,T2, T3, …, Tn 是除 T1 外其它树构成的森林。 (2) 二叉树转换为森林的规则 ? 如果 B 为空,则 对应的森林F也为空。 ? 如果 B 非空,则 F 中第一棵树 T1 的根为 ro

您可能关注的文档

文档评论(0)

别样风华 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档