- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
建立无向图的邻接矩阵
第6章 图
6.1 图的概念
6.1.1 图的定义
图是由顶点集V和顶点间的关系集合E(边的集合)组成的一种数据结构,可以用二元组定义为:G=(V,E)。
例如,对于下图所示的无向图G1和有向图G2,它们的数据结构可以描述为:G1=(V1,E1), 其中 V1={a,b,c,d},E1={(a,b),(a,c),(a,d),(b,d),(c,d)},而G2=(V2,E2),其中V2={1,2,3}, E2={1,2,1,3,2,3,3,1}。
有向图和无向图
在图中,若用箭头标明了边是有方向性的,则称这样的图为有向图,否则称为无向图。如上图中,G1为无向图,G2为有向图。
在无向图中,一条边(x,y)与(y,x)表示的结果相同,用圆括号表示,在有向图中,一条边x,y与y,x表示的结果不相同,故用尖括号表示。x,y表示从顶点x发向顶点y的边,x为始点,y为终点。
6.1.2 图的基本术语
1.端点和邻接点;出边与入边;
2.顶点的度、入度、出度
在图中,一个顶点依附的边的数目,称为该顶点的度。在有向图中,一个顶点依附的边的终点数目,称为该顶点的入度。一个顶点依附的边的始点数目,称为该顶点的出度,某个顶点的入度和出度之和称为该顶点的度。
另外,若图中有n个顶点,e条边,第i个顶点的度为di,则
有e=
对于一般无向图,顶点数为n,边数为e,则 0≤e ≤n(n-1)/2。
对于一般有向图,顶点数为n,弧数为e, 则 0≤e≤n(n-1) 。
当一个图接近完全图时,则称它为稠密图,相反地,当一个图中含有较少的边时,则称它为稀疏图。
3.完全图、稠密图、稀疏图
具有n个顶点,n(n-1)/2条边的图,称为完全无向图,具有n个顶点,n(n-1) 条边的有向图,称为完全有向图。完全无向图和完全有向图都称为完全图。
4. 子图
若有两个图G1和G2, G1=(V1,E1), G2=(V2,E2), 满足如下条件: V2?V1 ,E2? E1,即V2为V1的子集,E2为E1的子集,称图G2为图G1的子图。
图和子图的示例具体见图7-2。
在无向图G中,若存在一个顶点序列Vp ,Vi1,Vi2,…,Vin,Vq, 使得(Vp,Vi1),(Vi1,Vi2),…..,(Vin,Vq)均属于E(G),则称顶点Vp到Vq存在一条路径。若一条路径上除起点和终点可以相同外,其余顶点均不相同,则称此路径为简单路径。起点和终点相同的路径称为回路,简单路径组成的回路称为简单回路。路径上经过的边的数目称为该路径的路径长度。
5.路径、回路
6. 连通图和强连通图
在无向图中,若从顶点i到顶点j有路径,则称顶点i和顶点j是连通的。若任意两个顶点都是连通的,则称此无向图为连通图,否则称为非连通图。
连通图和非连通图示例见下图。
在有向图中,若从顶点i到顶点j有路径,则称从顶点i和顶点j是连通的,若图中任意两个顶点都是连通的,则称此有向图为强连通图,否则称为非强连通图。
强连通图和非强连通图示例见下图。
7. 连通分量和强连通分量
无向图中,极大的连通子图为该图的连通分量。显然,任何连通图的连通分量只有一个,即它本身,而非连通图有多个连通分量。参见教材图6-3
8. 权和网
在图的边或弧中给出相关的数,称为权。 权可以代表一个顶点到另一个顶点的距离,耗费等,带权图一般称为网。
带权图的示例具体见下图。
6.2 图的存贮结构
6.2.1 邻接矩阵
在邻接矩阵表示中,除了存放顶点本身信息外,还用一个矩阵表示各个顶点之间的关系。若(i,j)∈E(G)或〈i,j〉∈E(G),则矩阵中第i行 第j列元素值为1,否则为0 。
图的邻接矩阵定义为:
1 若(i,j)∈E(G)或〈i,j〉∈E(G)
A[i][j]=
0 其它情形
例如, 下面为两个无向图和有向图对应的邻接矩阵。
从无向图的邻接矩阵可以得出如下结论
(1)矩阵是对称的;
(2)第i行或第i 列1的个数为顶点i 的度;
(3)矩阵中1的个数的一半为图中边的数目;
(4)很容易判断顶点i 和顶点j之间是否有边相连(看矩阵中i行j列值是否为1)。
从有向图的邻接矩阵可以得出如下结论
(1) 矩阵不一定是对称的;
(2) 第i 行中1的个数为顶点i 的出度;
(3) 第i列中1的个数为顶点 i的入度;
(4) 矩阵中1的个数为图中弧的数目;
(5) 很容易判断顶点i 和顶点j 是否有弧相连.
带权图(网)的邻接矩阵表示
类似地可以定义网的邻接矩阵为:
wij
文档评论(0)