我正在尝试使用邻接矩阵制作一个程序,该程序决定图表是否简单连接。我设法让代码告诉我所有节点都有链接到某些东西,但这并不能保证我在第一个节点和最后一个节点之间有一条路(简单连接图的定义)。我是初学者,所以我不知道这样的问题是否可以在这里发布。不知道怎么能这样做?到目前为止,这是我的代码。任何建议表示赞赏。
package lab41;
import java.util.Scanner;
public class Graf {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("Introduceti nr de noduri:");
int n = s.nextInt();
int[][] a = new int[n + 1][n + 1];
int i, j, k;
System.out.println("Introduceti matricea adiacenta:");
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++) {
System.out.println("a[" + i + "][" + j + "]=");
a[i][j] = s.nextInt();
}
int x = 0;
j = 1;
i = 1;
do {
if (a[i][j] == 1) {
i++;
j = 1;
x++;
} else
j++;
}
while (i < n && j <= n);
if (x == n - 1)
System.out.println("Graful este conex");
else
System.out.println("Graful nu este conex");
}
}
答案 0 :(得分:0)
要查找图表是否已连接,您可以执行DFS&amp; BFS从任何节点开始,如果访问了所有节点,则表示图形已连接。
算法: