Representatios of graph

版权声明:本文为博主原创文章,未经博主允许不得转载。 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).

猜你喜欢

转载自blog.csdn.net/QingyingLiu/article/details/81976138
今日推荐