码迷,mamicode.com
首页 > 其他好文 > 详细

ppt 图的基本算法 Bfs

时间:2014-08-10 21:16:50      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   io   for   2014   amp   算法   

 bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

 

 

 

 

 

 

 

输入:

8 9
1 2
1 3
2 4
2 5
3 6
3 7
4 8
5 8
6 7

 

 

 

 

 

// 图的BFS,使用C++队列
#include <stdio.h>
#include <string.h>
#include <queue>
using namespace std;
#define N 10
int g[N][N],bz[N],n,m;
queue <int> q;
void BFS(int cur)
{ int j;
bz[cur]=1; q.push(cur);
while (!q.empty())
{ cur=q.front(); printf(" V%d ", cur);q.pop();
for (j=1;j<=N;j++)
if (bz[j]==0 && g[cur][j]==1) { q.push(j); bz[j]=1; }
}
}
void input()
{ int i,j,f,t;
scanf("%d%d",&n,&m);
for (int i=1; i<=m; i++)
{ scanf("%d%d",&f,&t); g[f][t]=g[t][f]=1; }
}
int main()
{ memset(g,0,sizeof(g)); memset(bz,0,sizeof(bz));
input(); BFS(1);
}

 

*************************************************************************************

 


// 图的BFS
#include <stdio.h>
#include <string.h>
#define N 10
int g[N][N],bz[N],n,m,q[N],qe,qs;
void BFS(int cur)
{ int j,qs,qe;
qs=qe=0; bz[cur]=1; q[qe++]=cur;
while (qs<qe)
{ cur=q[qs++]; printf(" V%d ", cur);
for (j=1;j<=N;j++)
{ if (bz[j]==0 && g[cur][j]==1)
{ q[qe++]=j; bz[j]=1; }
}
}
}
void input()
{ int i,j,f,t;
scanf("%d%d",&n,&m);
for (int i=1; i<=m; i++)
{ scanf("%d%d",&f,&t); g[f][t]=g[t][f]=1; }
}
int main()
{ int i,j;
memset(g,0,sizeof(g)); memset(bz,0,sizeof(bz));
input(); BFS(1);
}

ppt 图的基本算法 Bfs,布布扣,bubuko.com

ppt 图的基本算法 Bfs

标签:blog   http   使用   io   for   2014   amp   算法   

原文地址:http://www.cnblogs.com/2014acm/p/3903256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!