- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章回顾;树的三种存储结构
双亲表示法
孩子链表表示法
孩子兄弟表示法
森林和二叉树的转换
由森林转换为二叉树
由二叉树转换为森林
树和森林的遍历
树的先根遍历(= 二叉树的先序遍历)
树的后根遍历(= 二叉树的中序遍历)
森林的先序遍历(= 二叉树的先序遍历)
森林的中序遍历(= 二叉树的中序遍历)
赫夫曼树和赫夫曼编码;课前思考;课前导学
7.1 图的定义和术语
7.2 图的存储结构
7.3 图的遍历
7.4 图的连通性问题
7.5 有向无环图及其应用
7.6 最短路径
知识点小结;【学习目标】;【重点和难点】;【考试知识点:】
1、理解图的概念、术语。
2、掌握图的存储结构(邻接矩阵、邻接表、逆邻接表、十字链表)。
3、掌握图的遍历方法(深度优先遍历,广度优先遍历)。
4、掌握图的最小生成村的算法(Prim算法,Kruskal算法)。
5、掌握图的单源最短路径的dijstra算法。
6、了解所有顶点对之间的最短路径的Floyd算法。;【学习指南】;7.1 图的定义和术语; 有向图(Digraph)——;无向图(Undigraph)——;有向完备/全图——n个顶点的有向图最大边数是n(n-1)
无向完备/全图——n个顶点的无向图最大边数是n(n-1)/2;顶点的度
无向图中,顶点的度为与每个顶点相连的边数
有向图中,顶点的度分成入度与出度
入度:以该顶点为头的弧的数目
出度:以该顶点为尾的弧的数目
;子图——如果图G(V,E)和图G’(V’,E’),满足:V’?V E’?E
则称G‘为G的子图;权(Weight)——与图的边或弧相关的数,可以表示两个顶点之间的距离或耗费
网——带权的图
上海→北京 怎么走最优? ;路径——路径是顶点的序列V={Vi,0,Vi,1,……Vi,n},满足(Vi,j-1,Vi,j)?E 或 Vi,j-1,Vi,j?E,(1j?n)
路径长度——沿路径边的数目或沿路径各边权值之和
回路——第一个顶点和最后一个顶点相同的路径
简单路径——序列中顶点不重复出现的路径
简单回路——除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路;例;连通——从顶点V到顶点W有一条路径,则说V和W是连通的
连通图——图中任意两个顶点都是连通
连通分量——非连通图的每一个连通部分(连通的子图)
强连通图——有向图中,如果对每一对Vi,Vj?V, Vi?Vj,从Vi到Vj 和从Vj到 Vi都存在路径,则称G是~;2. 图的抽象数据类型(了解!)ADT Graph {数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。数据关系R:R={VR} VR={v,w| v,w∈V且P(v,w),v,w表示从v到w的弧,谓词P(v,w)定义了弧v,w的意义或信息 } 基本操作P:结构的建立和销毁: CreateGraph(G,V,VR); // 按V和VR的定义构造图G DestroyGraph(G); // 销毁图G; 对顶点的访问操作: LocateVex(G, u); // 若G中存在顶点u,则返回该顶点在图中位置;否则返回其它信息。 GetVex(G, v); // 返回v的值 PutVex(G, v, value); // 对v赋值value
对邻接点的操作: FirstAdjVex(G, v); // 返回v的第一个邻接点。若该顶点在G中没有邻接点,则返回“空” NextAdjVex(G, v, w); //返回v的(相对于w的)下一个邻接点若w是v的最后一个邻接点,则返回“空” 插入或删除顶点: InsertVex(G, v); // 在图G中增添新顶点v DeleteVex(G, v); // 删除G中顶点v及其相关的弧; 插入和删除弧: InsertArc(G, v, w); // 在G中增添弧v,w,若G是无向的,则还增添对称弧w,v DeleteArc(G, v, w); //在G中删除弧v,w,若G是无向的,则还删除对称弧w,v遍历: DFSTraverse(G, v, Visit()); // 从顶点v起深度优先遍历图G,并对每个顶点调用函数Visit一次且仅一次 BFSTraverse(G, v, Visit()); // 从顶点v起广度优先遍历图 G,并对每个顶点调用函数Visit一次且仅一次;7.2 图的存储结构(掌握!) ;特点:
无向图的邻接矩阵对称,可压缩存储;有n个顶点的无向图需存储空间为n(n+1)/2
有向图邻接矩阵不一定对称;有n个顶点的有向图需存储空间为n2
无向图中顶点Vi的度TD(Vi)是邻接矩阵A中第i行元素之和
有向
文档评论(0)