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

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic Discuss

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的遍历结果。

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 <climits>
 5
 6 using namespace std;
 7
 8 #define MVN 110
 9
10 typedef struct AdjMatrix
11 {
12     int w;
13     char *info;
14 }AM;
15
16 typedef struct MGraph
17 {
18     int vex[MVN];
19     AM arc[MVN][MVN];
20     int vexnum,arcnum;
21     int k;
22 }MG;
23
24 void creat(MG &G)
25 {
26     int i,j,k;
27     for(k=0;k<G.vexnum;k++)
28     {
29         G.vex[k]=k;
30     }
31     for(k=0;k<G.arcnum;k++)
32     {
33         scanf("%d %d",&i,&j);
34         G.arc[i][j].w=G.arc[j][i].w=1;
35     }
36 }
37
38 void BFS(MG &G)
39 {
40     queue <int> Q;
41     int i,k;
42     bool visited[MVN]={false};
43     for(k=0;k<G.vexnum;k++)
44     {
45         if(G.vex[k]==G.k)
46             break;
47     }
48     Q.push(k);
49     while(!Q.empty())
50     {
51         i=Q.front();
52         Q.pop();
53         if(!visited[i])
54         {
55             if(i==G.k)
56                 printf("%d",G.vex[i]);
57             else
58                 printf(" %d",G.vex[i]);
59             visited[i]=true;
60             for(k=0;k<G.vexnum;k++)
61             {
62                 if(G.arc[i][k].w>0)
63                     Q.push(k);
64             }
65         }
66     }
67     printf("\n");
68 }
69
70 int main()
71 {
72     int t;
73     scanf("%d",&t);
74     while(t--)
75     {
76         MG G={0};
77         scanf("%d %d %d",&G.vexnum,&G.arcnum,&G.k);
78         creat(G);
79         BFS(G);
80     }
81     return 0;
82 }
83
84 /***************************************************
85 User name: ***
86 Result: Accepted
87 Take time: 0ms
88 Take Memory: 344KB
89 Submit time: 2016-11-13 18:54:57
90 ****************************************************/

转载于:https://www.cnblogs.com/Leroscox/p/6034148.html

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

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

    故事凌 今天 基本知识点 图可说是所有数据结构里面知识点最丰富的一个, 自己笨的知识点如下: 阶(oRDER), 度: 出度(out-Degree), 入度(in-Degree) 树(Tree), 森 ...

  2. python扫雷 广度优先_基于邻接矩阵的广度优先搜索遍历(BFS)

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

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

    第一次写BFS的题,从开始一脸懵逼到慢慢分析,期间没有看书没查博客,自己安静的做了四十分钟终于做出来了,满满的成就感,我很水,但是我很努力,Mr杰要努力! #include<stdio.h> ...

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

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

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

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

  6. 数据结构实验1《基于线性表的图书管理系统》

    数据结构实验1<基于线性表的图书管理系统> (visual studio 2019可运行) 输入及输出要求见<数据结构C语言(第二版)>严蔚敏版 [本文仅用于啥都看不懂还想交作 ...

  7. 数据结构(C++)——图:基于邻接矩阵实现的图结构

    抽象数据类型 操作接口:图支持的操作接口分为边和顶点两类 Graph模板类 typedef enum { UNDISCOVERED, DISCOVERED, VISITED } VStatus; // ...

  8. 数据结构与算法(python):广度优先搜索(Breadth First Search,BFS)和深度优先算法(Depth First Search,DFS)

    参考自 MOOC数据结构与算法Python版 目录 一.广度优先搜索 1.1 BFS算法过程 1.2 广度优先搜索算法分析 二.深度优先搜索 2.1 骑士周游 2.1.1 问题定义 2.1.2 构建骑 ...

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

    题目描述 给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列.(同一个结点的同层邻接点,节点编号小的优先遍历) 输入 输入第一行为整数n(0< ...

最新文章

  1. 粘贴铜箔简易实验电路制作
  2. kafka重新启动时出现:found a corrupted index file due to requirement failed问题解决方法
  3. 2011年100佳精美的WordPress免费博客模板
  4. MyBatis 缓存详解-什么时候开启二级缓存?
  5. ssh: Could not resolve hostname gitcafe.com: nodename nor servname provided, or not known
  6. [转载].一直不怎么明白PID的运算输出结果怎么换算成执行机构的控制量
  7. 杨澜对话华为周跃峰:发展数字经济,存储技术是关键
  8. [译] Scala 类型的类型(一)
  9. 解决asp.net中使用FckEditor上传文件,中文名称乱码的问题
  10. python整体设计目标怎么写_设计模式及Python实现
  11. SQL LIKE通配符 模糊查询
  12. android word缺少字体下载,OfficeSuite字体包
  13. java nio ByteBuffer的使用
  14. 2017年看的tracking论文
  15. 如何在ps中添加图片上的塑料布效果
  16. 算法设计与分析-习题-用生成函数求解递归方程f(n)=2f(n/2)+cn,f(1)=0
  17. 【Vue2注册登录界面】Vue2+elementUI编写一个登录页面,路由式开发,后台管理系统登录界面
  18. Java代码安装maven jar_maven安装本地jar到本地仓库(引入第三方jar, maven打包提示程序包不存在)...
  19. 硬件设计之VGA、DVI、HDMI、DP及LVDS介绍
  20. 三维全景展示——震撼你的视觉

热门文章

  1. java APIs for database -------- JDBC (1)connection
  2. foo bar的意思
  3. python docker实战_「docker实战篇」python的docker-docker镜像的创建使用dockerfile(3
  4. java易错_java易错基础知识点
  5. qemu a fast and portable dynamic translator——大致翻译
  6. map任务和reduce任务个数如何计算
  7. 值不值得入手_比3系更运动!标配2.0T+后驱,凯迪拉克CT5值不值得入手
  8. (7)verilog语言编写UART接收
  9. 什么是分布式_什么是分布式系统,如何学习分布式系统?
  10. 数字图像处理(四)——图像编码技术(一)