数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)

Input

输入第一行为整数n(0< n <100),表示数据的组数。

对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点,t为遍历的起始顶点。

下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。

Output

输出有n行,对应n组输出,每行为用空格隔开的k个整数,对应一组数据,表示BFS的遍历结果。

Sample Input

1

6 7 0

0 3

0 4

1 4

1 5

2 3

2 4

3 5

Sample Output

0 3 4 2 5 1

Hint

以邻接矩阵作为存储结构。

题解:简单的广度优先遍历。

如果不理解什么叫广度优先遍历,请移步:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h> int s[105][105];
/*利用邻接矩阵来记录图*/
int n,S,num;
/*n节点数量,S开始节点,num记录的第几个节点*/
int pre[105];
/*记录路径*/ void BFS()
{
int f[105];
/*记录点是否被遍历过*/
int q[105],front,base;
/*用数组模拟队列*/
int u,i;
memset(f,0,sizeof(f));
front = base = 0;
q[base++] = S;
f[S] = 1;
while(front!=base)
{
u = q[front++];
pre[num++] = u;
for(i=0;i<n;i++)
{
if(!f[i]&&s[u][i])
{
f[i] = 1;
q[base++] = i;
}
}
}
} int main()
{
int t,m,i;
int u,v;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d",&n,&m,&S);
memset(s,0,sizeof(s));
for(i=0;i<m;i++)
{
scanf("%d%d",&u,&v);
s[u][v] = s[v][u] = 1;
}
num = 0;
BFS();
for(i=0;i<num;i++)
printf("%d%c",pre[i],i==num-1?'\n':' ');
}
return 0;
}

SDUT-2124_基于邻接矩阵的广度优先搜索遍历的更多相关文章

  1. SDUT 2141 【TEST】数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历

    数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  2. 数据结构之 图论---基于邻接矩阵的广度优先搜索遍历(输出bfs遍历序列)

    数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历 Time Limit: 1000MS Memory limit: 65536K 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索( ...

  3. 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历 (SDUT 2141)

    #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> ...

  4. SDUT2141数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2141&cid=1186 #include<cstdio> #include& ...

  5. 基于邻接矩阵的广度优先搜索遍历(BFS)

    题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2141&cid=1186 #include<stdio.h> #incl ...

  6. SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历

    数据结构实验之图论二:基于邻接表的广度优先搜索遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Descript ...

  7. 【算法导论】图的广度优先搜索遍历(BFS)

    图的存储方法:邻接矩阵.邻接表 例如:有一个图如下所示(该图也作为程序的实例): 则上图用邻接矩阵可以表示为: 用邻接表可以表示如下: 邻接矩阵可以很容易的用二维数组表示,下面主要看看怎样构成邻接表: ...

  8. SDUT2142数据结构实验之图论二:基于邻接表的广度优先搜索遍历

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2142&cid=1186 题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜 ...

  9. 基于邻接表的广度优先搜索遍历(bfs)

    题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2142&cid=1186 #include<stdio.h> #incl ...

随机推荐

  1. Leetcode434.Number of Segments in a String字符串中的单词数

    统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John" ...

  2. Django项目:CRM(客户关系管理系统)--39--31PerfectCRM实现King_admin编辑多对多限制

    readonly_fields = ('qq', 'consultant','tags',) # 不可修改 # forms.py # ————————19PerfectCRM实现King_admin数 ...

  3. warning: deprecated conversion from string constant to 'char*

    warning: deprecated conversion from string constant to 'char* #include<iostream> using namespa ...

  4. mybatis深入理解(五)-----MyBatis的一级缓存实现详解 及使用注意事项

    0.写在前面 MyBatis是一个简单,小巧但功能非常强大的ORM开源框架,它的功能强大也体现在它的缓存机制上.MyBatis提供了一级缓存.二级缓存 这两个缓存机制,能够很好地处理和维护缓存,以提高 ...

  5. 【arc072e】AtCoder Regular Contest 072 E - Alice in linear land

    题意 给定一个D,以及一个长度为N的序列a,顺序执行这些数字: 对于一个数字x,会使得D=min(D,abs(D-x)) 有Q次询问,每次询问独立,给出i,能否修改a[i],使得D最后不为0. n,q ...

  6. FFT初步代码分析和逼近曲线

    FFT:快速傅里叶变换 文章从两个方面来写,一个是FFT的基础知识,也就是将时域信号转换为频域信号,另一个是合成时域信号. 将时域信号转换为频域信号 代码来源于http://bigsec.net/b5 ...

  7. 2019-9-2-windows-10「设置」应用完整ms-settings快捷方式汇总

    title author date CreateTime categories windows-10「设置」应用完整ms-settings快捷方式汇总 lindexi 2019-09-02 12:57 ...

  8. 定时任务 $ ls /etc/cron* + cat$ for user in $(cat /etc/passwd | cut -f1 -d:); do crontab -l -u $user; done

    是否有某个定时任务运行过于频繁? 是否有些用户提交了隐藏的定时任务? 在出现故障的时候,是否正好有某个备份任务在执行?

  9. 【python之路13】python的深浅拷贝

    深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 impor ...

  10. 2018.8.6 模拟赛 提高组B

    T1 Description 给定一个n个点m条边的有向图,有k个标记点,要求从规定的起点按任意顺序经过所有标记点到达规定的终点,问最短的距离是多少. Input 第一行5个整数n.m.k.s.t,表 ...