Я хочу сгенерировать алгоритм сетевого потока, используя случайное количество узлов и мощностей, используя 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;
}
У меня проблема с построением случайного графика с использованием 2d-массива.
Затем этот ответ может предоставить вам метод для создания случайных графиков. Потому что нужно выбирать не только количество узлов, но и количество ребер.




Добро пожаловать в СО. Можете ли вы уточнить свой вопрос, отредактировав его, пожалуйста? Я не знаю, есть ли у вас проблема с реализацией сетевого потока или с построением случайного графа.