知识大全 图 - 图的存储结构 - 邻接表表示法(一)
Posted 结点
篇首语:万事须己运,他得非我贤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 图 - 图的存储结构 - 邻接表表示法(一)相关的知识,希望对你有一定的参考价值。
图的邻接表表示法
图的邻接表表示法类似于树的孩子链表表示法 对于图G中的每个顶点v i 该方法把所有邻接于v i 的顶点v j 链成一个带头
结点的单链表 这个单链表就称为顶点v i 的邻接表(Adjacency List)
邻接表的结点结构
( )表结点结构
┌────┬───┐
│adjvex │next │
└────┴───┘
邻接表中每个表结点均有两个域:
① 邻接点域adjvex
存放与vi相邻接的顶点v j 的序号j
② 链域next
将邻接表的所有表结点链在一起
注意
若要表示边上的信息(如权值) 则在表结点中还应增加一个数据域
( )头结点结构
┌────┬─────┐
│vertex │firstedge │
└────┴─────┘
顶点v i 邻接表的头结点包含两个域
① 顶点域vertex
存放顶点v i 的信息
② 指针域firstedge
v i 的邻接表的头指针
注意
① 为了便于随机访问任一顶点的邻接表 将所有头结点顺序存储在一个向量中就构成了图的邻接表表示
② 有时希望增加对图的顶点数及边数等属性的描述 可将邻接表和这些属性放在一起来描述图的存储结构
无向图的邻接表
对于无向图 v i 的邻接表中每个表结点都对应于与v i 相关联的一条边 因此 将邻接表的表头向量称为顶点表 将无向图的
邻接表称为边表
【例】对于无向图G 其邻接表表示如下面所示 其中顶点v 的边表上三个表结点中的顶点序号分别为 和 它们分别表示
关联于v 的三条边(v v ) (v v )和(v v )
>
注意
n个顶点e条边的无向图的邻接表表示中有n个顶点表结点和 e个边表结点
有向图的邻接表
对于有向图 v i 的邻接表中每个表结点都对应于以v i 为始点射出的一条边 因此 将有向图的邻接表称为出边表
【例】有向图G 的邻接表表示如下面(a)图所示 其中顶点v 的邻接表上两个表结点中的顶点序号分别为 和 它们分别表示从
v 射出的两条边(简称为v 的出边)
>
注意
n个顶点e条边的有向图 它的邻接表表示中有n个顶点表结点和e个边表结点
有向图的逆邻接表
在有向图中 为图中每个顶点v i 建立一个入边表的方法称逆邻接表表示法
入边表中的每个表结点均对应一条以v i 为终点(即射入v i )的边
【例】G 的逆邻表如上面(b)图所示 其中v 的人边表上两个表结点 和 分别表示射人v 的两条边(简称为v 的入边)
1 ,v 0 >和
注意:
n个顶点e条边的有向图,它的接表表示中有n个顶点表结点和e个边表结点。
cha138/Article/program/sjjg/201311/23847相关参考
希赛教育计算机专业考研专业课辅导招生 希赛教育计算机专业考研专业课辅导视频 希赛教育计算机考研专业课在线测试系统 类似于有向图的十字链表若将无向图中表示同一条边的两个结点合在一起将得到无向图
图的存储表示方法很多这里介绍两种最常用的方法至于具体选择哪一种表示法主要取决于具体的应用和欲施加的操作 为了适合用C语言描述以下假定顶点序号从开始即图G的顶点集的一般形式是V(G)=vvi…Vn
邻接表的表示方法 邻接表(AdjacencyList)是图的一种链式存储结构在邻接表中对图中每个顶点建立一个单链表第i个单链表中的结点表示依附于顶点vi的边(对有向图是以顶点vi为尾的弧) 邻接表
.有向图的邻接表存储如下().画出其邻接矩阵存储().写出图的所有强连通分量().写出顶点a到顶点i的全部简单路径【东北大学一(分)】 .试用下列三种表示法画出网G的存储结构并评述这三种表示法的
.对于如下的加权有向图给出算法Dijkstra产生的最短路径的支撑树设顶点A为源点并写出生成过程【吉林大学一 (分)】 .已知图的邻接矩阵为 当用邻接表作为图的存储结构且邻接表都按序
.写出从图的邻接表表示转换成邻接矩阵表示的算法用类PASCAL语言(或C语言)写成过程形式【南开大学四 (分)】 类似本题的另外叙述有 ()已知某个图的邻接表试建立该图的相邻矩阵【天
图的存储结构 ·邻接矩阵表示法用一个n阶方阵来表示图的结构是唯一的适合稠密图 ·无向图邻接矩阵是对称的 ·有向图行是出度列是入度 建立邻接矩阵算法的时间是O(n+n^+e)其时间复杂度为O
.对有五个结点ABCDE的图的邻接矩阵 ().画出逻辑图 ().画出图的十字链表存储 ().基于邻接矩阵写出图的深度广度优先遍历序列 ().计算图的关键路径【华南师范大学三(分)】 .何
.假设给定的有向图是用邻接表表示作为输入的是图中顶点个数n和边的个数m以及图的m条边在下面的程序中我们用readdata程序过程输入图的信息并建立该图的邻接表利用topol程序过程获得图中顶点的一
.已知无向图采用邻接表存储方式试写出删除边(ij)的算法 【东南大学三(分)】 类似本题的另外叙述有 ()一个无向连通图的存储结构以邻接表的形式给定设计算法删除该图中的一条边(ij)