Java 关于Sedgewick和Wayne算法中的自循环数(图G)p.523,
我正在读Sedgewick和Wayne的算法 下面的代码计算无向图G中的自循环数 我无法理解为什么此代码返回的是count/2而不是count 请解释原因 p、 523Java 关于Sedgewick和Wayne算法中的自循环数(图G)p.523,,java,algorithm,graph-theory,Java,Algorithm,Graph Theory,我正在读Sedgewick和Wayne的算法 下面的代码计算无向图G中的自循环数 我无法理解为什么此代码返回的是count/2而不是count 请解释原因 p、 523 自循环的公共静态整数(图G) { 整数计数=0; 对于(int v=0;v
自循环的公共静态整数(图G)
{
整数计数=0;
对于(int v=0;v
可以说,算法会两次找到同一个循环吗。粗略地说,顺时针和逆时针各一次。书中最后一行的评论是“每条边都算两次。”非常感谢您,Marichyasana先生。我发现addEdge(v,v)将v与adj[v]相加两次(第526页)。非常感谢你
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;
}