今天刷leetcode算法题时,发现出现一个关于图的“边缘列表”的说法,搜索后发现找到的不多,而且解释也不是很好,在这儿记录下:

关于图是啥,这里就不多讲了

大家知道比较多的,应该是邻接表表示法:

例如一个如下图的“图”:

边缘列表 邻接列表 表示的图形

这个的邻接表的表示可以是这样的:

边缘列表 邻接列表 表示的图形

这个图什么意思呢?我来解释一下,第一列是代表着节点,后面每一行跟着的,是与这个节点相连的点,比如说,与 0 相连的有节点 5 和节点 6 ,所以 0 后面跟着的就是 5 和 6 。

如果用二维数组表示的话,那么第一列的数字就可以是行下标,连接着的点就可以放到对应的行中进行保存。

那么,对于同一张“图”,如果使用边缘表示的话,就可以写成这种:

边缘列表 邻接列表 表示的图形

稍加分析我们可以知道,第一列表示的是标号,后面的呢就是每一条线段的起始位置。如果使用二维数组表示的话,就可以是一个 n 行 2 列的数组,对应的,第一列就可以直接作为行下标进行索引了。

上面是关于无向图。下面来看有向图:

边缘列表 邻接列表 表示的图形

边缘列表 邻接列表 表示的图形

对应邻接表中保存的就是由该节点指向的节点的列表

边缘列表 邻接列表 表示的图形

而边缘表示图里呢,是从线段的出发点指向终止点。

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-27
  • 2022-01-01
  • 2022-12-23
猜你喜欢
  • 2021-07-05
  • 2022-12-23
  • 2021-07-10
  • 2022-12-23
  • 2021-04-16
相关资源
相似解决方案