算法与数据结构-图第7章1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 图 7.1 图的定义和术语 7.2 图的存储结构 7.2.1 数组表示法 7.2.2 邻接表 7.3 图的遍历 7.3.1 深度优先搜索 7.3.2 广度优先搜索 7.4 图的连通性问题 7.4.1 图的连通分量和生成树 7.4.2 最小生成树 图的示例(有向图与无向图) 顶点个数n与边的最大数目e之间关系: 有向图:0≤e≤n(n-1) 无向图:0≤e≤n(n-1)/2 完全有向图:n个顶点具有最大边数为n(n-1)的有向图 完全无向图:n个顶点具有最大边数为n(n-1)/2的无向图 图的定义和术语—顶点的度 无向图:与顶点V相连的边数,记为D(v) 有向图:顶点的度分成入度与出度 入度是以该顶点为头的弧的数目,记为ID(v) 出度是以该顶点为尾的弧的数目,记为OD(v) 顶点的度为入度和出度的和,即D(v)=ID(v)+OD(v)。 子图——如果图G(V,E)和图G’(V’,E’),满足:V’?V,E’?E,则称G’为G的子图 抽象数据类型图的定义 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: GraphCreat(G,,V,VR); GraphDestory(G); GraphLocateVertex(G,v); GraphGetVertex(G,v); GraphFirstAdj(G,v); GraphNextAdj(G,v,w); GraphInsertVertex(G,v); GraphDeleteVertex(G,v); GraphInsertArc(G,v,w); GraphDeleteArc(G,v,w); DFSTtraverse(G,v,Visit()); BFSTtraverse(G,v,Visit()); }ADT Graph 图的存储结构 邻接矩阵表示法 邻接表表示法 十字链表 邻接多重表 邻接矩阵表示法(数组表示法) 图的任意两个结点(顶点)之间都可能有关系,因此用二维数组来表示顶点之间的相邻关系; 二维数组中元素aij 表示vi和vj之间的关系 有n个顶点的图G=(V,{R})的邻接矩阵为n阶方阵A,其定义如下: 邻接矩阵表示法 #define MAXNODE 64 ∥ 图中顶点的最大个数 typedef char VertexType; ∥顶点的数据类型 typedef int EdgeType; ∥边或弧的类型 typedef struct { VertexType vexs[MAXNODE]; ∥顶点向量 EdgeType arcs[MAXNODE][MAXNODE]; ∥邻接矩阵 int vexnum,arcnum; ∥图的顶点数和弧数 }MGraph; 若顶点只是编号信息,边上信息只是有无(边),则数组表示法可以简化为如下的邻接矩阵表示法: typedef int AdjMatrix[MAXNODE][MAXNODE]; 图的邻接矩阵表示法的特点 对于网,可以用aij表示权。若vi和vj不邻接(或没有vi邻接到vj),则可以用无限大∞表示权。 邻接表 对图中每个顶点建立一个邻接关系的单链表,并将其表头指针用向量(一维数组)存储,该结构称为邻接表。 无向图的第i个链表将图中与顶点vi相邻接的所有顶点链接起来。 有向图的第i个链表,链接了以顶点vi为尾(射出)的所有(射入)顶点。 邻接表示例(无向图) 逆邻接表 若问题总对入度更关心,则可以把线性链表的表结点的数据域更改即可 第i个链表,链接了以顶点vi为头(射入)的所有(射出)顶点。 此时该邻接表称为逆邻接表。 邻接表中的结点结构 邻接表的类型定义 * * V1 V4 V2 V3 V5 V4 V3 V2 V1 结点之间的关系:多对多,任两个结点之间 都可能有关系存在 图(Graph)——图G是由两个集合V(G)和E(

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档