数据结构 六章 图.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文档。上传文档
查看更多
数据结构 六章 图

第六章 图;有向图(Digraph)——若图G中的每条边都是有方向的,则称图G为有向图。;无向图(Undigraph)——若图G中的每条边都是没有方向的,则图G称为无向图。;顶点的度 有向图中,顶点的度分成入度与出度 入度:该顶点入边的数目 出度:该顶点出边的数目 无向图中,顶点的度为与该顶点相连的边数 ;子图——设有图G=(V,E) ,如果满足: V’?V E’?E E中边所邻接的点均在V中出现 则 G‘= (V’,E‘)也是一个图,并且称之为G的子图。 有向完全图——n个顶点的有向图最大边数是n(n-1) 无向完全图——n个顶点的无向图最大边数是n(n-1)/2 路径——有向图G=(V,E)中,若存在一个顶点序列vp,vi1,vi2,…vin,vq,使得vp,vi1,vi1,vi2 ,…,vin,vq均是图中的边,则称此序列是从顶点vp到vq一条路径。 路径长度——该路径上经过边的数目。 回路——一条路径第一个顶点和最后一个顶点相同的 叫~ 简单路径——序列中顶点不重复出现的路径叫~ 简单回路——除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路叫~;有根图——若存在一个顶点v,从该顶点到其余各个顶点都有路径,则称此图为有根图 连通——从顶点x到顶点y有一条路径,则说x和y是连通的 连通图——图中任意两个顶点都是连通的叫连通图 连通分量——无向图G的极大连通子图称为G的连通分量 强连通图——若G中任意两个顶点都是强连通的,则称图G是强连通图 强连通分量 ——有向图G的极大强连通子图称为G的强连通分量 权——与图的边相关的数值叫权值。 网络——边上带权的图称为网络 ;;;;6.2 图的存储结构 邻接矩阵——表示顶点之间邻接关系的矩阵 设G=(V,E)是具有n个顶点的图,则G的邻接矩阵是一个n阶方阵A,A中元素的值aij可以定义为: ;特点: 无向图的邻接矩阵对称;有n个顶点的无向图需存储空间为n2 有向图邻接矩阵不一定对称;有n个顶点的有向图需存储空间为n2 无向图中顶点Vi的度是邻接矩阵A中第i行元素之和 有向图中, 顶点Vi的出度是A中第i行元素之和 顶点Vi的入度是A中第i列元素之和 网的邻接矩阵可定义为:;可以得到邻接矩阵存储结构C语言描述如下: #define n 5 /* 图的顶点数 */ #define e 6 /* 图的边数 */ #define max 10000 /* 设置一个极大数无穷大 */ typedef char vextype; /* 顶点类型 */ typedef int adjtype; /* 权值类型 */ typedef struct { vextype vertex[n+1]; /* 顶点数组 */ adjtype edge[n+1][n+1]; /* 邻接矩阵 */ }adj_matrix;;邻接表 邻接表法(Adjacency List)是图的一种链式存储结构 ;邻接表存储结构C语言描述如下: typedef struct node { int adjvex; /* 邻接点域 */ struct node *next; /* 指针域 */ }edgenode; /* 定义边表结点 */ typedef struct { vextype vertex; /* 顶点域 */ edgenode *link; /* 指针域 */ }vexnode; /* 定义顶点表结点 */ vexnode adjlist[n+1];;特点 无向图中顶点Vi的度为第i个单链表中的结点数 有向图中 顶点Vi的出度为第i个单链表中的结点个数 顶点Vi的入度为整个单链表中邻接点域值是i的结点个数 逆邻接表:有向图中对每个结点建立以Vi终点的单链表;边集数组(edgeset array)是图的一种顺序存储方式,利用一维数组来存储图中所有的边,数组中的每个元素用来存储图中的一条边,包括:始点、终点的序号及权值,该数组中所含元素的个数要大于等于图中边的条数。 ;6.3 图的遍历 深度优先遍历(DFS) 方法:对于给定的图G,假设初始时所有顶点均未被访问过,则可从G中任选一顶点vi做为初始出发点,深度优先搜索可定义为:访问出发点vi,置访问标记为1,然后依次从vi的未被访问过的邻接点vj出发,继续进行深度优先搜索,直至图中所有和vi有路径相通的顶点均被访问过。很显然图的深度优先搜索过程是递归的。它的特点是尽可能先对图从纵深方向进行搜索,故称为深度优先搜索。 ;深度优先遍历算法 递归算法;

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档