0
即時嘗試從頂點列表返回傳遞閉包,但我如何使用floyd warshall算法來做到這一點?互聯網中的所有例子都是以二維數組的形式給出的,但是它也可以用於列表嗎?示例G = ABCD→G + = AB AC AD BC BD CD,其中G是頂點列表,G +是傳遞閉包。爲頂點列表實現Floyd-Warshall算法
我實現(錯誤的方式):
public Graph transitiveClosure(LinkedList<Vertex> v)
{
String graaf = "";
Edge e;
StringBuffer sb = new StringBuffer(graaf);
Iterator<Vertex> i = v.iterator();
Vertex tmp;
for(Vertex vertex : v)
{
System.out.print(vertex);
}
while(i.hasNext()) {
int next = (v.size() + 1) - v.size();
tmp =(Vertex) i.next();
if(tmp == v.getFirst())
tmp = (Vertex)i.next();
e = new Edge(v.getFirst().toString() + tmp);
sb.append(e);
if(tmp == v.get(next))
next++;
e = new Edge(v.get(next).toString() + tmp);
sb.append(e);
}
System.out.println();
return new Graph(sb.toString());
}
}
請解釋你的例子。你只想要所有的對(i,j)在v列表中指示i
2014-11-24 11:13:41
是的,我需要所有的對 – 2014-11-24 15:08:52