邻接矩阵图的dfs和bfs
2015-06-14 17:23
351 查看
int G[maxn][maxn]; int n; //点数 int m; //边数 int vis[maxn]; void init() { memset(G,0,sizeof(G)); memset(vis,0,sizeof(vis)); for(int i=0; i<m; i++) { int u,v; scanf("%d%d",&u,&v); G[u][v] = 1; } } void dfs(int u) { vis[u] = 1; printf("%d",u); for(int i=1; i<=n; i++) if(G[u][i] && !vis[i]) dfs(i); } void bfs(int u) { queue <int> Q; vis[u] = 1; Q.push(u); while(!Q.empty()) { int v = Q.front(); Q.pop(); printf("%d ",v); for(int i=1; i<=n; i++) if(G[v][i] && !vis[i]) { vis[i] = 1; Q.push(i); } } }
相关文章推荐
- loadrunner生成随机uuid的方法
- GIS数据格式topojson
- DAVINCI和OMAP架构的区别
- Basic Definitions of Digital Audio
- 链表复习
- iOS NSString的常用用法
- win8 内存占用过高 问题小结
- ActiveMQ 由浅入深之(JMS入门介绍)
- 使用Xcode 7 beta免费真机调试iOS应用程序
- AIX系统maxperm与maxperm%的关系分析
- 字符串的全排列和组合
- Hiberante可配置参数
- 设计模式
- DllMain使用的注意事项
- DllMain使用的注意事项
- Android---56---Android应用调用Web Service/号码归属地查询
- win7系统下安装bugzilla-4.4.9
- 进程调度算法之“先来先服务”、“短任务优先”和“时间片轮选”
- JavaScript中反正弦函数Math.asin()的使用简介
- 使用Jenkins搭建iOS开发的CI服务器