- 1、本文档共119页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]115 树和二叉树
基本概念 树 树、子树、度、结点、树高、有序/无序树、森林 顺序结构 二叉树的性质(5个)、满二叉树、完全二叉树 二叉树 存储结构 先序、中序、后序 定义及二叉树与树的区别 二叉链表 遍 历 二叉树构造 表示方法 图形、文氏图、广义表、目录表示法 基本运算 初始化、插入、查询 二叉树遍历方法的应用 第7章 树和二叉树 小结2-1 哈夫曼树的定义 哈夫曼树 孩子链表表示法 存储结构 孩子兄弟链表表示法 哈夫曼树的构造 应用实例:节省存储空间的字符编码 树(森林)的遍历 树和森林 双亲表示法 先序 后序 树(森林)与二叉树的相互转换 T to BT BT to T 线索二叉树 定义及结构 求解过程 孩子表示法 第7章 树和二叉树 小结2-2 * * * * * * * * * * * * * * * * * * * * * * * * * 每个结点有两个指针域: First指针: 指向该结点的第一个儿子结点; Next 指针:指向该结点的右兄弟结点; 第一个孩子 右兄弟 next data first 结点描述与二叉链表相似 树的存储结构 —— 孩子兄弟表示法(二叉链表表示法) 第7章 树和二叉树 Typedef struct Treenode{ elementtype data; struct Treenode *firstchild, *nextsibling; }; A B C D E F G ^ A B ^ C ^ D ^ E ^ F ^ ^ G ^ 树的孩子兄弟表示法图示 第7章 树和二叉树 将树根转化为二叉树的根; 对每个结点都做如下处理: 结点第一个孩子转化为其二叉树中的左儿子; 结点的右兄弟转化为其右儿子。 转化过程: 树与二叉树的转换(树→二叉树) 第7章 树和二叉树 A B D C F E A B D C F E A B D C F E A B D C F E 将树转换为二叉树示意图: 1.加线 2.抹线 3.旋转 第7章 树和二叉树 2 5 6 4 7 8 1 3 1 2 4 3 6 5 7 8 练习:将下图所示树转化为二叉树 第7章 树和二叉树 将二叉树根转化为树的根; 对每个结点都做如下处理: 结点的左儿子转化为其树中第一个孩子; 结点的右儿子转化为其右兄弟。 转化过程: 树与二叉树的转换(二叉树→树) 第7章 树和二叉树 A B D C F E A B D C F E A B D C F E 将二叉树还原为树示意图 第7章 树和二叉树 1 2 3 4 5 6 2 4 6 3 1 5 练习:将下图所示二叉树转化为树 第7章 树和二叉树 将各棵树分别转换为二叉树; 把第一棵树的根结点作为二叉树根结点; 把其余树的根结点作为前一棵树的右孩子。 森林与二叉树的转换(森林→二叉树) 第7章 树和二叉树 A D C B E F G A D C B E F G A D C B E F G A D C B E F G 第7章 树和二叉树 抹线:将根结点的右孩子并沿右分支搜索到的所有右孩子与其根的连线抹去(形成各棵孤立的二叉树) 还原:将各棵二叉树还原为一般树。 森林与二叉树的转换(二叉树→森林) 第7章 树和二叉树 A D C B E F G A D C B E F G A D C B E F G A D C B E F G 第7章 树和二叉树 按先根次序遍历 若树不空,则先访问根结点,然后依次先根遍历各棵子树。 按后根次序遍历 若树不空,则先依次后根遍历各棵子树,然后访问根结点。 按层次遍历 若树不空,则自上而下自左至右访问树中每个结点。 树的遍历 第7章 树和二叉树 按先根次序遍历: 按后根次序遍历: 按层次遍历: A B C D E F H ABEFCDH EFBCHDA ABCDEFH 树的遍历示例 第7章 树和二叉树 练习:将树转化为二叉树,遍历二叉树,得出什么结论? 先根与先序等同序列、后根与中序等同序列 两种遍历方法: (1)先序遍历森林:对森林中的每一棵树进行先根遍历。 (2)后序遍历森林:对森林中的每一棵树进行后根遍历。 注: 由于在树和森林中,一个结点可以有两棵以上的子树,因此不便于讨论它们的中根遍历。 森林的遍历 第7章 树和二叉树 Void preorder(Tnode *t) { if(t!=NULL) { printf(“%c”, t–data) preorder(t–firstson); preorder(t–nextbrother); } } 先序遍历森林的递归算法 第7章 树和二叉树 Void postor
您可能关注的文档
- [计算机]第五章 汇编语言程序开发.pdf
- [计算机]算法时间复杂度分析.doc
- [计算机]细说怎样做好淘宝直通车关键词优化.doc
- [计算机]维护计算机公共机房环境承诺书.doc
- [计算机]缓存详解.doc
- [计算机]编制计算机程序解决问题.doc
- [计算机]第二章操作系统.ppt
- [计算机]网站优化的12个主要原则.pdf
- [计算机]聊城出租汽车客运修信息网站建设可行性分析报告.doc
- [计算机]联想电脑各型号区别.doc
- 中国农业科学院农业资源与农业区划研究所2024年度公开招聘笔试备考题库及答案详解1套.docx
- 中国城市规划设计研究院2025年度公开招聘笔试模拟试题带答案详解.docx
- 2025年银川市公安局面向宁夏警官职业学院招聘285名警务辅助人员笔试模拟试题及完整答案详解1套.docx
- 2025年衢州市公安局第一期招聘54名警务辅助人员笔试模拟试题含答案详解.docx
- 2025年辽宁沈阳理工大学招聘高层次人才142人笔试模拟试题及答案详解1套.docx
- 中国民航科学技术研究院2024年度面向社会公开招聘工作人员笔试模拟试题及答案详解一套.docx
- 中国地质科学院矿产资源研究所2025年度公开招聘工作人员(第一批)笔试模拟试题及参考答案详解一套.docx
- 中国地质科学院地质力学研究所2024年度社会在职人员公开招聘笔试备考题库及答案详解1套.docx
- 中国疾病预防控制中心2024年度公开招聘学校卫生领域学科带头人笔试备考题库参考答案详解.docx
- 中国热带农业科学院南亚热带作物研究所2025年第二批公开招聘工作人员笔试模拟试题及答案详解一套.docx
文档评论(0)