关于 numerOfSelfLoops(Graph G) p.523 in Algorithms by Sedgewick and Wayne,
About numerOfSelfLoops(Graph G) p.523 in Algorithms by Sedgewick and Wayne,
我正在阅读 Sedgewick 和 Wayne 的算法。
以下代码计算无向图G中自环的数量。
我不明白为什么这个代码 returns count/2 而不是 count.
请说明原因。
第 523 页
public static int numerOfSelfLoops(Graph G)
{
int count = 0;
for (int v = 0; v < G.V(); v++)
for (int w : G.adj(v))
if (v == w) count++;
return count/2;
}
可以这么说,算法会两次找到相同的循环。松散地说一次顺时针和一次逆时针。书中最后一行的注释是“每边计算两次。”
我正在阅读 Sedgewick 和 Wayne 的算法。
以下代码计算无向图G中自环的数量。
我不明白为什么这个代码 returns count/2 而不是 count.
请说明原因。
第 523 页
public static int numerOfSelfLoops(Graph G)
{
int count = 0;
for (int v = 0; v < G.V(); v++)
for (int w : G.adj(v))
if (v == w) count++;
return count/2;
}
可以这么说,算法会两次找到相同的循环。松散地说一次顺时针和一次逆时针。书中最后一行的注释是“每边计算两次。”