首页 > 解决方案 > 如何使用具有随机节点和容量的二维数组实现网络流算法

问题描述

我想使用 Java 使用随机数量的节点和容量生成网络流算法。最小节点应该是 4,最大节点是 10。所以我使用了 for 循环并尝试了,但它不适用于所有节点的可能性。

以下代码仅适用于最小随机节点 (4)。我创建了随机生成节点的函数。

public static void main(String[] args) {
    int nodeNum = getRandomNumber();
    int[][] arr = new int[nodeNum][nodeNum];
    for (int i = 0; i < arr.length; i++) {
        for (int j = 0; j < arr[i].length; j++) {

            if (i==0) {
                if (j==1 || j==2)
                   arr[i][j] = (int)(Math.random() * 10);
            }
            else if (i==1 && j==3){
                arr[i][j] = (int)(Math.random() * 10);
            }
            else if (i==2 && j==3){
                arr[i][j] = (int)(Math.random() * 10);
            }
            else {
                arr[i][j] = 0;
            }
            System.out.print(arr[i][j] + " ");
        }
        System.out.println("");
    }
}

//Generate random number of nodes between 4 and 10
private static int getRandomNumber() {
    int randomValue;
    do {
        randomValue = (int) (Math.random() * 10);
    } while(!(randomValue>=4 && randomValue<=10));
    return randomValue;
}

标签: javaalgorithm

解决方案


推荐阅读