图的表示
2016-03-22 22:26
267 查看
对于图G=(V,E),可以用两种标准表示方法表示。一种表示法是将图作为邻接链表的组合,另一种是将图作为邻接矩阵来看待。
邻接链表
邻接链表表示由一个包含|V|条链表的数组Adj所构成,每个结点有一条链表。对于每个结点u,邻接链表Adj[u]包含所有与结点u之间有边相连的结点v。邻接链表在表示稀疏图上很有优势。邻接链表的一个潜在缺陷是无法快速判断一条边(u,v)是否是图中的一条边,唯一的方法是在邻接链表Adj[u]里面搜索结点v。邻接矩阵克服了这个缺陷,但付出的代价是更大的存储空间消耗。
邻接矩阵
对邻接矩阵表示来说,我们通常会将图G中的结点编为1、2、……、|V|,这种编号可以任意。在进行编号之后,图G的邻接矩阵表示一个|V|*|V|的矩阵A=(aij)予以表示,该矩阵满足下述条件:
aij=1 if (i,j)属于E;否则 aij=0.
关于图的两种表示的一个例子如下所示,其中(b)为链表,(c)为矩阵表示。
邻接链表
邻接链表表示由一个包含|V|条链表的数组Adj所构成,每个结点有一条链表。对于每个结点u,邻接链表Adj[u]包含所有与结点u之间有边相连的结点v。邻接链表在表示稀疏图上很有优势。邻接链表的一个潜在缺陷是无法快速判断一条边(u,v)是否是图中的一条边,唯一的方法是在邻接链表Adj[u]里面搜索结点v。邻接矩阵克服了这个缺陷,但付出的代价是更大的存储空间消耗。
邻接矩阵
对邻接矩阵表示来说,我们通常会将图G中的结点编为1、2、……、|V|,这种编号可以任意。在进行编号之后,图G的邻接矩阵表示一个|V|*|V|的矩阵A=(aij)予以表示,该矩阵满足下述条件:
aij=1 if (i,j)属于E;否则 aij=0.
关于图的两种表示的一个例子如下所示,其中(b)为链表,(c)为矩阵表示。
相关文章推荐
- 为什么有些东西,反反复复总是学不会
- [Z]CS权威会议
- BZOJ4451 : [Cerc2015]Frightful Formula
- 实验c++实验2-分段函数求值
- 最简单的基于Flash的流媒体示例:网页播放器(HTTP,RTMP,HLS)
- 【Design Pattern】简单工厂模式
- 231. Power of Two
- kmp模板
- 【杭电】[4505]小Q系列故事——电梯里的爱情
- ExtJs之Ext.each
- const 用法总结(转载)http://blog.csdn.net/zcf1002797280/article/details/7816977
- CSS初学
- Java——布局管理器
- 词频统计(结对编程)
- 《用户故事与敏捷方法》:三星推荐
- [Java GC]Java垃圾回收
- CentOS-6.3安装配置JDK-7
- python 跳出两层for循环
- 算法 加权quick-union
- 使用内置的Camera应用程序