SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
数据结构实验之图论二:基于邻接表的广度优先搜索遍历
Problem Description
Input
对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。
下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。
Output
Example Input
1 6 7 0 0 3 0 4 1 4 1 5 2 3 2 4 3 5
Example Output
0 3 4 2 5 1
Hint
DQE:
1 #include <iostream> 2 #include <cstdio> 3 #include <queue> 4 #include <stack> 5 using namespace std; 6 7 #define MVN 110 8 9 typedef struct ArcNode 10 { 11 int adj; 12 ArcNode *next; 13 char *info; 14 }AN; //弧结点 15 16 typedef struct VNode 17 { 18 int x; 19 AN *first; 20 }VN; //顶点节点 21 22 typedef struct ALGraph 23 { 24 VN vex[MVN]; 25 int vexn,arcn; 26 int s; 27 }ALG; //基于邻接表的图 28 29 void creat(ALG &G) 30 { 31 int i,j,k; 32 for(k=0;k<G.vexn;k++) 33 G.vex[k].first=NULL; 34 for(k=0;k<G.arcn;k++) 35 { 36 scanf("%d %d",&i,&j); 37 AN *ia=new AN,*ja=new AN; 38 ia->adj=j; 39 ja->adj=i; 40 ia->next=G.vex[i].first; 41 ja->next=G.vex[j].first; 42 G.vex[i].first=ia; 43 G.vex[j].first=ja; 44 } 45 } 46 47 void BFS(ALG &G) 48 { 49 int i; 50 queue <int> Q; 51 stack <int> S; 52 bool f[MVN]={false}; 53 Q.push(G.s); 54 while(!Q.empty()) 55 { 56 i=Q.front();Q.pop(); 57 if(!f[i]) 58 { 59 AN *p=G.vex[i].first; 60 while(p) 61 { 62 S.push(p->adj); 63 p=p->next; 64 } 65 //利用栈纠正临接点顺序 66 while(!S.empty()) 67 { 68 Q.push(S.top());S.pop(); 69 } 70 if(i==G.s) 71 printf("%d",i); 72 else 73 printf(" %d",i); 74 f[i]=true; 75 } 76 } 77 printf("\n"); 78 } 79 80 int main() 81 { 82 int t; 83 scanf("%d",&t); 84 while(t--) 85 { 86 ALG G; 87 scanf("%d %d %d",&G.vexn,&G.arcn,&G.s); 88 creat(G); 89 BFS(G); 90 } 91 return 0; 92 } 93 94 /*************************************************** 95 User name: *** 96 Result: Accepted 97 Take time: 0ms 98 Take Memory: 156KB 99 Submit time: 2016-11-18 19:51:04 100 ****************************************************/
转载于:https://www.cnblogs.com/Leroscox/p/6034491.html
SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历相关推荐
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列.(同一个结点的同层邻接点,节点编号小的优先遍历) 输入 输入第一行为整数n(0< ...
- SDUT 3399 数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 冒泡排序和快 ...
- sdut 3341数据结构实验之二叉树二:遍历二叉树
数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000MS Memory Limit: 65536K Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如 ...
- SDUT _2117 数据结构实验之链表二:逆序建立链表
点击打开链接 数据结构实验之链表二:逆序建立链表 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem D ...
- SDUT OJ 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
数据结构实验之图论五:从起始点到目标点的最短步数(BFS) Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss P ...
- a - 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历_数据结构--图
故事凌 今天 基本知识点 图可说是所有数据结构里面知识点最丰富的一个, 自己笨的知识点如下: 阶(oRDER), 度: 出度(out-Degree), 入度(in-Degree) 树(Tree), 森 ...
- 数据结构实验之图论二:图的深度遍历(DFS)
Description 请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出.遍历时,先遍历节点编号小的. Input 输入第一行为整数n(0 < n < 100), ...
- python扫雷 广度优先_基于邻接矩阵的广度优先搜索遍历(BFS)
数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory limit: 65536K 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索( ...
- SDUT 2141 【TEST】数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...
最新文章
- QQ超时不能刷新好友接收发送信息
- (二十一)unity4.6学习Ugui中文文档-------交互-Supported Events amp; Raycasters
- Java爬虫——网易云热评爬取
- Eclipse导入类库【Java】
- 如何在Power BI Desktop报表中使用Web数据源
- curl error code 60 51 代码解决方式
- 易用宝项目记录day7-权限与菜单
- 自大型人格分析,如何改变自大型性格?
- mx550和锐炬xe显卡差距大 锐炬xe显卡和mx550区别哪个好
- 达梦数据库实例服务无法启动(一)
- CC26xx([CortexM3)的Power Reset and Clock
- 怎样用matlab把视频转gif动画,Matlab制作视频并转换成gif动态图的两种方法
- 运行错误:view size is not compatible with input tensor‘s size and stride (at least
- mac键盘修改工具karabiner(禁用command+Q)
- python项目七:自建公告板
- 旅游定制服务|基于SSM实现旅游个性化定制网站平台
- 还在不停切换聊天窗口进行回复的客服请看过来
- [USACO3.2]Magic Squares 魔板
- JVM理解其实并不难!
- 高级计量经济学及stata应用 学习笔记② 短面板
热门文章
- MPEG2简单码流分析
- 鸿蒙对抗谷歌,华为下定决心对抗谷歌,打出第一张王牌,鸿蒙系统更进一步
- android c语言串口通信,安卓串口通信能用的modebus CRC16计算,附对应的C语言CRC16
- mysql webmail ubuntu12.04 imap_Ubuntu 12.04下搭建Web网站服务器 (MySQL+PHP+Apache环境)教程...
- 2021 年百度之星·程序设计大赛 - 初赛二 1002 随机题意(区间贪心)
- php 发送网络命令,linux命令经典用法与配置收录
- 由一维数组创建小根堆
- 玲珑杯round11-B:萌萌哒的第二题
- opencv cv.findContours 函数详解
- [debug] PyCharm 退出 pytest in XXX.py,恢复run XXX.py