#include<stdio.h>
int n, m; //顶点数, 边数
int G[20][20] = {0};
int visited[20] = {0};
void DFS(int now)
{
if(visited[now] == 0)
{
visited[now] = 1;
printf("%d ", now);
for(int i = 1; i <= n; i ++)
if(G[now][i] == 1 && visited[i] == 0)
DFS(i);
}
else return;
}
void BFS(int now)
{
visited[20] = {0};
int que[20] = {0};
int visited[20] = {0};
int head = 0, tail = 1;
que[head] = now;
visited[now] = 1;
while(head != tail)
{
now = que[head ++];
printf("%d ", now);
for(int i = 1; i <= n; i ++)
if(G[now][i] == 1 && visited[i] == 0)
que[tail ++] = i, visited[i] = 1;
}
}
void print_graph()
{
int i, j;
printf("图的邻接矩阵为:\n");
for(i = 1; i <= n; i ++)
{
for(j = 1; j <= n; j ++)
[图]图的邻接矩阵下的深搜广搜(超级简单写法)
最新推荐文章于 2022-06-15 06:35:45 发布