初学者编码器检查输入是否是循环的一部分?

时间:2018-04-07 21:10:27

标签: graph nodes cycle edges

public Graph (int nb){
    this.nbNodes = nb;
    this.adjacency = new boolean [nb][nb];
    for (int i = 0; i < nb; i++){
        for (int j = 0; j < nb; j++){
            this.adjacency[i][j] = false;
        }
    }
}

public void addEdge (int i, int j){
    if(!(i<0 || i>=this.nbNodes|| j<0 || j>=this.nbNodes))
    {
        this.adjacency[i][j] = true;
        this.adjacency[j][i] = true;
    }
}

public void removeEdge (int i, int j){
    if(!(i<0 || i>=this.nbNodes|| j<0 || j>=this.nbNodes))
    {
        this.adjacency[i][j] = false;
        this.adjacency[j][i] = false;
    }
}

public int nbEdges(){

    int c =0;
    for(int i=0; i<this.nbNodes; i++)
    {
        for(int j= 0; j<this.nbNodes; j++)
        {
            if(this.adjacency[i][j]==true)
            {
                c++;
            }
        }
    }
    return c/2;
}

public boolean cycle(int start){

    return false;
}

图表有许多节点nbNodes,其特征在于其邻接矩阵邻接。 adjacency [i] [j]表示从第i个节点到第j个节点是否存在边缘。 图表是无向的。

我是初学者编码器,编写循环(int start)时遇到问题

它将整数作为输入,如果第i个节点是循环的一部分,则g.cycle(i)返回true(否则返回false)。

有没有人知道如何处理这个问题?

0 个答案:

没有答案