版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、复杂数据结构第1页,共25页,2022年,5月20日,13点26分,星期二课程安排3.1 层次关系结构:树3.2 网状关系:图第2页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树 树的概念3.1.2 二叉树的概念 二叉树的存储 操作二叉树 遍历二叉树3.1.6 测试二叉树3.1.7 线索二叉树 最优二叉树(赫夫曼树)第3页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树1树的定义2树的相关术语3树的表示(A(B(E),(C(F(J),(G(K,L),(D(H),(I(M,N)3.1.1 树的概念第4页,共25页,2022年,5月
2、20日,13点26分,星期二3.1 层次关系结构:树3.1.2 二叉树的概念第5页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.2 二叉树的概念根据二叉树的定义,可得知其具有以下性质:(1)在二叉树中,第i层的结点总数最多有2i-1个结点。(2)深度为k的二叉树最多有2k-1个结点(k=1),最少有k个结点。(3)对于一棵二叉树,如果其叶结点数为n0,而度为2的结点总数为n2,则n0=n2+1。(4)具有n个结点的完全二叉树的深度k为:k=log2n+1。(5)有n个结点的完全二叉树各结点如果用顺序方式存储,对任意结点i,有如下关系:如果i != 1,
3、则其父结点的编号为i/2;如果2*in,则无左子树;如果2*i+1n,则无右子树。第6页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.3 二叉树的存储1. 顺序存储结构二叉树顺序存储结构的数据定义如下:#define MAXSIZE 100 /最大结点数typedef int DATA; /元素类型typedef DATA SeqBinTreeMAXSIZE;SeqBinTree SBT; /定义保存二叉树数组第7页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.3 二叉树的存储2. 链式存储结构 二叉链式结构
4、三叉链式结构typedef struct ChainTree DATA data; struct ChainTree *left; struct ChainTree *right;ChainTreeType;ChainTreeType *root=NULL;typedef struct ChainTree DATA data; struct ChainTree *left; struct ChainTree *right; struct ChainTree *parent;ChainTreeType;ChainTreeType *root=NULL; 第8页,共25页,2022年,5月20日,
5、13点26分,星期二3.1 层次关系结构:树3.1.4 操作二叉树1定义二叉链式结构2初始化二叉树3添加结点到二叉树4获取二叉树左右子树5获取二叉树状态6在二叉树中查找7清空二叉树第9页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.5 遍历二叉树先序遍历(DLR):称为先根次序遍历,即先访问根结点,再按先序遍历左子树,最后按先序遍历右子树。中序遍历(LDR):称为中根次序遍历,即先按中序遍历左子树,再访问根结点,最后按中序遍历右子树。后序遍历(LRD):称为后根次数遍历,即先按后序遍历左子树,再按后序遍历右子树,最后访问根结点。按层遍历:按二叉树的层进
6、行遍历,可更直观地从图中得出遍历的结果。第10页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.6 测试二叉树 编写程序测试二叉树,在该测试程序中,将创建二叉树,并向二叉树中添加结点,然后能按4种方法进行遍历。第11页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.7 线索二叉树1线索二叉树的表示中序:B F D A C G E H第12页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.7 线索二叉树1线索二叉树的表示typedef struct ThreadTree DAT
7、A data; NodeFlag lflag; NodeFlag rflag; struct ThreadTree *left; struct ThreadTree *right;ThreadBinTree;第13页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.7 线索二叉树创建线索二叉树操作线索二叉树遍历线索二叉树测试线索二叉树第14页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.8 最优二叉树(赫夫曼树)(a) WPL=52+72+22+132=54(b) WPL=51+72+23+133=64(c) WP
8、L=113+27+32+53=481创建赫夫曼树第15页,共25页,2022年,5月20日,13点26分,星期二3.1 层次关系结构:树3.1.8 最优二叉树(赫夫曼树)2赫夫曼编码第16页,共25页,2022年,5月20日,13点26分,星期二3.2 网状关系:图3.2.1 图的定义和基本术语3.2.2 图的存储3.2.3 创建图3.2.4 图的遍历3.2.5 最小生成树3.2.6 最短路径第17页,共25页,2022年,5月20日,13点26分,星期二3.2 网状关系:图无向图 有向图3.2.1 图的定义和基本术语第18页,共25页,2022年,5月20日,13点26分,星期二3.2 网状
9、关系:图邻接矩阵 邻接表3.2.2 图的存储第19页,共25页,2022年,5月20日,13点26分,星期二3.2 网状关系:图用邻接矩阵保存图 用邻接表保存图3.2.3 创建图第20页,共25页,2022年,5月20日,13点26分,星期二3.2 网状关系:图广度优先遍历 广度优先遍历类似于树的按层次遍历,具体过程如下:(1)从isTrav数组中选择一个未被访问的顶点Vi,将其标记为已访问。(2)接着依次访问Vi的所有未被访问的邻接点,并标记为已被访问过。(3)从这些邻接点出发进行广度优先遍历,直至图中所有和Vi有路径相通的顶点都被访问过。(4)重复步骤(1)至步骤(3)的操作,直至所有顶点
10、都被访问过。3.2.4 图的遍历第21页,共25页,2022年,5月20日,13点26分,星期二3.2 网状关系:图深度优先遍历 深度优先遍历方法类似于树的先序遍历,具体过程如下:(1)从isTrav数组中选择一个未被访的顶点Vi,将其标记为已访问。(2)接着从Vi的一个未被访问过的邻接点出发进行深度优先遍历。(3)重复步骤(2),直至图中所有和Vi有路径相通的顶点都被访问过。(4)重复步骤(1)至步骤(3)的操作,直至所有顶点都被访问过。3.2.4 图的遍历第22页,共25页,2022年,5月20日,13点26分,星期二3.2 网状关系:图 对于一个带权连通图,生成树不同,树中各边上的权值总和也不同,权值最小的生成树称为图的最小生成树。3.2.5 最小生成树第23页,共25页,2022年,5月20日,13点2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年复旦大学附属肿瘤医院执业医师执业助理医师招聘备考题库完整答案详解
- 2026年宁波市江北区妇幼保健计划生育服务中心公开招聘事业编制外人员备考题库及完整答案详解1套
- 2026年成都益民集团所属企业关于招聘财务综合岗等岗位的备考题库及答案详解1套
- 2026年中国水务投资集团有限公司校园招聘108人备考题库及一套完整答案详解
- 2026年华创证券有限责任公司上海分公司招聘备考题库及1套参考答案详解
- 2026年合肥市五十中学天鹅湖教育集团望岳校区教师招聘备考题库参考答案详解
- 2026年关于招聘派遣人员至永州市城市发展集团有限责任公司总部及下属子公司的备考题库完整答案详解
- 2026年四川天府新区广都学校教师招聘备考题库附答案详解
- 2026年中华联合财产保险股份有限公司温州中心支公司招聘备考题库及完整答案详解一套
- 2026年保定市第一医院招聘备考题库及一套答案详解
- 国家开放大学电大本科《流通概论》复习题库
- 2025年高职物流管理(物流仓储管理实务)试题及答案
- 2025-2026学年统编版二年级语文上册期末质量检测卷(含答案)
- 2025年学法减分试题及答案
- 2025年德州乐陵市市属国有企业公开招聘工作人员(6人)参考笔试题库及答案解析
- 2025年特种作业人员考试题库及答案
- 邢台课件教学课件
- 医防融合视角下家庭医生签约慢病管理策略
- 2025年新能源市场开发年度总结与战略展望
- 中职历史期末考试及答案
- 从指南看慢性乙型病毒性肝炎的防治策略
评论
0/150
提交评论