设G= (V,E)是一个有向图,以邻接列表格式给出。定义有向图G‘= (V,E'),其中边(u,v)∈E’当且仅当(v,u)∈E(即G‘反转G中每个边的方向)。描述了一种在O时间内求G‘邻接表表示法的算法。
是否有一种简单的方法来反演邻接表?
说如果是:
a-> b
b-> de
c-> c
d-> ab
e->
to:
a-> d
b-> ad
c-> c
d-> ab
e-> b
我必须反转给定的有向图,以便顶点保持不变,但边在相反的方向上。我的图由一个graph类表示,该类包含一个顶点的ArrayList,每个Vertex对象都有它的编号和相邻顶点的ArrayList。我的代码给出了错误的答案,因为在循环的每次迭代中,顶点的相邻列表的大小都会发生变化。我如何修复我的代码?
public void reverse() {
ArrayList < Vertex > adjacentOfi = new ArrayList < Vertex > ();
int k;
for (int i = 1; i < vertices
在图论中,我们知道一个顶点的邻接可以用邻接表数据结构来表示。相反,图论中并没有广泛地提到邻接集。为什么是这样?
这是我能想到的专业人士。
作为集属性,该图可以为集的重复边和许多其他属性提供保证。此外,来自的所有set操作都可用,这更直观地进行了分析。例如:
- `vertex_set_A | vertex_setB` is the union operation.
- `vertex_set_A & vertex_set_B`, is the intersection operation.
*意见,集合是可以理解的,因为它在数学校对中有关联。它还很好地抽象了底层代