第二十七天算法设计
Graph 类 (图生成算法)
java
package suanfa;
public class Graph {
private int vertices; // 图的顶点数
private int[][] adjacencyMatrix; // 邻接矩阵
// 构造函数,初始化图
public Graph(int vertices) {
this.vertices = vertices;
adjacencyMatrix = new int[vertices][vertices]; // 创建邻接矩阵
}
// 向图中添加一条边
public void addEdge(int start, int end) {
if (start >= 0 && start < vertices && end >= 0 && end < vertices) {
adjacencyMatrix[start][end] = 1; // 从start到end有一条边
adjacencyMatrix[end][start] = 1; // 因为是无向图,反向也添加边
} else {
System.out.println("输入的边的端点无效");
}
}
// 打印邻接矩阵
public void printGraph() {
System.out.println("图的邻接矩阵:");
for (int i = 0; i < vertices; i++) {
for (int j = 0; j < vertices; j++) {
System.out.print(adjacencyMatrix[i][j] + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
// 创建一个图,图中有5个顶点
Graph graph = new Graph(5);
// 添加一些边
graph.addEdge(0, 1);
graph.addEdge(0, 4);
graph.addEdge(1, 2);
graph.addEdge(1, 3);
graph.addEdge(3, 4);
// 打印图的邻接矩阵
graph.printGraph();
}
}
录制: untitled2 – Insertion.java
录制文件:https://meeting.tencent.com/crm/KzGGkGE85d
浙公网安备 33010602011771号