📜  实现给定图的邻接矩阵的 C 程序(1)

📅  最后修改于: 2023-12-03 15:39:08.684000             🧑  作者: Mango

实现给定图的邻接矩阵的C程序

邻接矩阵是一种用于表示图的数据结构,其中每个矩阵元素代表两个节点之间是否有边。在本篇文章中,我们将介绍如何实现给定图的邻接矩阵的C程序。

实现思路

为了实现给定图的邻接矩阵,我们需要进行以下步骤:

  1. 创建一个大小为n*n的矩阵,其中n是图中节点的数量。
  2. 对于图中的每个边,将对应的矩阵元素设置为1。
  3. 对于未连接的节点对,将对应的矩阵元素设置为0。
代码实现

接下来,我们将按照上述步骤实现给定图的邻接矩阵的C程序。以下是完整的代码:

#include <stdio.h>

#define N 4

int main(void) {
    int graph[N][N] = {
        {0, 1, 1, 0}, 
        {1, 0, 1, 1}, 
        {1, 1, 0, 1},
        {0, 1, 1, 0}
    };

    printf("   ");
    for (int i = 0; i < N; i++) {
        printf("%d ", i);
    }
    printf("\n");

    for (int i = 0; i < N; i++) {
        printf("%d: ", i);
        for (int j = 0; j < N; j++) {
            printf("%d ", graph[i][j]);
        }
        printf("\n");
    }

    return 0;
}

在上述代码中,我们创建了一个大小为N*N的矩阵graph,并在代码的一开始初始化了矩阵。在图中,如果节点i与节点j之间有连接,则graph[i][j]的值为1,否则为0。

代码的输出如下:

   0 1 2 3 
0: 0 1 1 0 
1: 1 0 1 1 
2: 1 1 0 1 
3: 0 1 1 0 

这是一个大小为4*4的邻接矩阵,其中0表示两个节点之间不存在连接,1表示两个节点之间存在连接。

总结

邻接矩阵是一种简单但强大的数据结构,用于表示图。它易于理解和实现,并且可以被许多图形算法所使用。上述C程序演示了如何创建和使用邻接矩阵,希望对你有所帮助!