版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/QingyingLiu/article/details/81976138
Representatios of graph
adjacency-list representation
1. what is adjacency-list?
图G=(V,E)的邻接表是一个包含|V|个list的Adj数组,每一个list对应一个顶点,
对于每一个u属于V,邻接表Adj[u]包含了所有edge(u,v)属于E的顶点v。也就是说,
Adj[u]包含了所有和u相邻的顶点v。
2. property
- 根据邻接表的定义邻接表,邻接表需要的空间是O(|V|+|E|)
- 判断一个edge(u,v)是否在图中时间复杂度为O(n),因为这需要遍历Adj[u]中的所有顶点。
adjacency-matrix representation
1. what is the adjacency-matrix?
对于图G=(V,E),我们假设顶点的编号为1,2,3,…,|V|,然后邻接矩阵的表示就是一个
|V|×|V|的矩阵A=(aij):
aij=1 if (i,j)属于E,否则(i,j)=0
2. property
- 空间复杂度为O(|V|×|V|)
- 判断一个edge(u,v)是否在图中直接访问a[u][v]即可,时间复杂度为O(1).