用c写邻接表实现图的深度优先遍历
时间: 2023-11-20 16:24:56 浏览: 106
C++实现图的邻接表存储和广度优先遍历实例分析
好的,请稍等,我准备为您找到一个实现图的深度优先遍历的C程序示例。以下是代码:
// C program for Depth First Search in a Graph
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
void DFS(int);
int G[MAX][MAX],visited[MAX],n;
int main()
{
int i,j;
printf("Enter number of vertices:");
scanf("%d",&n);
//read the adjecency matrix
printf("\nEnter adjecency matrix of the graph:");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&G[i][j]);
//visited is initialized to zero
for(i=0;i<n;i++)
visited[i]=0;
DFS(0);
return 0;
}
void DFS(int i)
{
int j;
printf("\n%d",i);
visited[i]=1;
for(j=0;j<n;j++)
if(!visited[j]&&G[i][j]==1)
DFS(j);
}
此程序通过邻接矩阵表示图,并使用深度优先搜索算法遍历图。如果您有任何关于程序的疑问,请随时问我。
阅读全文