Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于Sedgewick和Wayne算法中的自循环数(图G)p.523,_Java_Algorithm_Graph Theory - Fatal编程技术网

Java 关于Sedgewick和Wayne算法中的自循环数(图G)p.523,

Java 关于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

我正在读Sedgewick和Wayne的算法

下面的代码计算无向图G中的自循环数

我无法理解为什么此代码返回的是count/2而不是count

请解释原因

p、 523

自循环的公共静态整数(图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;
}