创建一个邻接矩阵的代码
时间: 2023-06-11 18:09:01 浏览: 53
下面是创建一个邻接矩阵的 Python 代码:
```python
# 定义图的顶点数和边数
V = 5
E = 7
# 初始化邻接矩阵
adj_matrix = [[0] * V for i in range(V)]
# 添加边到邻接矩阵
edges = [(0, 1), (0, 4), (1, 2), (1, 3), (1, 4), (2, 3), (3, 4)]
for edge in edges:
adj_matrix[edge[0]][edge[1]] = 1
adj_matrix[edge[1]][edge[0]] = 1
# 打印邻接矩阵
for row in adj_matrix:
print(row)
```
这个代码创建了一个包含 5 个顶点和 7 条边的图,并将边添加到邻接矩阵中。最后打印邻接矩阵。你可以根据需要修改顶点数和边数,然后添加自己的边。
相关问题
C语言代码 创建一个邻接矩阵
在 C 语言中创建邻接矩阵的代码如下:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_VERTICES 100
#define INF 10000
int vertex_num; // 图中的顶点数
int matrix[MAX_VERTICES][MAX_VERTICES]; // 邻接矩阵
int main(void) {
int i, j;
printf("请输入顶点数:");
scanf("%d", &vertex_num);
// 初始化邻接矩阵
for (i = 0; i < vertex_num; i++) {
for (j = 0; j < vertex_num; j++) {
if (i == j) {
matrix[i][j] = 0;
} else {
matrix[i][j] = INF;
}
}
}
// 读入边的信息并更新邻接矩阵
int start, end, weight;
while (scanf("%d %d %d", &start, &end, &weight) != EOF) {
matrix[start][end] = weight;
}
// 输出邻接矩阵
for (i = 0; i < vertex_num; i++) {
for (j = 0; j < vertex_num; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
上面的代码定义了一个名为 `matrix` 的二维数组,用于存储邻接矩阵。然后通过循环读入边的信息并更新邻接矩阵。最后,通过另一个循环输出邻接矩阵。
其中,`MAX_VERTICES` 是设定的最大顶点数,`INF` 是一个较大的数字,用于表示两个顶点之间不存在边。
在这段代码的基础上,你可以进一步修改和扩展它来满足你的需求。
创建一个邻接矩阵的c语言代码
以下是一个创建邻接矩阵的 C 语言代码示例:
```
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, i, j;
printf("Enter the number of vertices: ");
scanf("%d", &n); // 输入顶点数
int **adj_matrix = (int **)malloc(n * sizeof(int *)); // 创建二维数组
for (i = 0; i < n; i++) {
adj_matrix[i] = (int *)malloc(n * sizeof(int));
for (j = 0; j < n; j++) {
adj_matrix[i][j] = 0; // 初始化为0
}
}
// 输入邻接矩阵
printf("Enter the adjacency matrix:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &adj_matrix[i][j]);
}
}
// 输出邻接矩阵
printf("The adjacency matrix is:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", adj_matrix[i][j]);
}
printf("\n");
}
// 释放内存
for (i = 0; i < n; i++) {
free(adj_matrix[i]);
}
free(adj_matrix);
return 0;
}
```
在这个示例中,我们首先输入顶点数,然后使用 `malloc()` 动态分配内存来创建二维数组,初始化为0,接着输入邻接矩阵,并输出结果。最后,我们使用 `free()` 释放分配的内存。