目录

原题复刻

思想的火花

代码实现


原题复刻

思想的火花 

1.bfs(运用自带库函数queue)

void bfs(graph &g,int v)
{cout<<v<<" ";vis[v]=1;q.push(v);int u;while(!q.empty()){u=q.front();q.pop();for(int w=firstadjves(g,u); w>=0; w=nextadjves(g,u,w)){if(!vis[w]){cout<<w<<" ";vis[w]=1;q.push(w);}}}}

代码实现 

#include<bits/stdc++.h>
using namespace std;
#define MAX 100
typedef int VerTexType,qelemtype;
typedef int Arctype,status;
typedef struct
{VerTexType vexs[MAX];Arctype arcs[MAX][MAX];int vexnum,arcnum;} graph;
VerTexType vertexdata(const graph &g,int i)
{return g.vexs[i];
}
int firstadjves(const graph &g,int v)
{for(int j=0; j<g.vexnum; j++)if(g.arcs[v][j]==1)return j;return -1;}
int nextadjves(const graph &g,int v,int w)
{for(int i=w+1; i<g.vexnum; i++)if(g.arcs[v][i]==1)return i;return -1;}
void createudg(graph &g)
{cin>>g.vexnum;for(int i=0; i<g.vexnum; i++){for(int j=0; j<g.vexnum; j++)cin>>g.arcs[i][j];}}
bool vis[MAX];
queue<int>q;
void bfs(graph &g,int v)
{cout<<v<<" ";vis[v]=1;q.push(v);int u;while(!q.empty()){u=q.front();q.pop();for(int w=firstadjves(g,u); w>=0; w=nextadjves(g,u,w)){if(!vis[w]){cout<<w<<" ";vis[w]=1;q.push(w);}}}}
int main()
{graph g;createudg(g);bfs(g,0);}

HNUST-OJ-1806-图的遍历——广度优先搜索相关推荐

  1. 图的遍历——广度优先搜索(Breadth First Search)

    2019独角兽企业重金招聘Python工程师标准>>> 1.广度优先搜索遍历类似于树的按层次遍历的过程. 假设从图中某顶点V出发,在访问了V之后依次访问V的各个未曾访问过得邻接点,然 ...

  2. 图的遍历 --- 广度优先搜索【借助队列实现】 + 深度优先搜索【借助递归栈】

    1. >>图的遍历是指从图中的某一顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问 一次且仅访问一次. 注意:树是一种特殊的图,所以树的遍历实际上也可以看作是一种特殊的图的遍历. ...

  3. 广度优先搜索c语言矩阵,算法7-6:图的遍历——广度优先搜索 (C++代码)

    解题思路: 首先要开一个二维数组储存邻接矩阵,一般的方法是开一个足够大的数组,例如这道题是n不大于50,不过这样做会造成空间不必要的浪费.因此手动分配空间会更为合理.一种方法是用malloc,对应销毁 ...

  4. 图的遍历——深度优先搜索+广度优先搜索

    一:图的遍历--深度优先搜索 在本文其他内容中只是大体概括了主要的图论内容,更加详细的代码实现及算法分析在此给出. 深度优先搜索(DFS)类似树的先序遍历. 假设初始状态是图中所有顶点未曾被访问,则深 ...

  5. 邻接表形式存储图并且按广度优先搜索遍历的C语言实现

    用邻接表形式存储图并且按广度优先搜索打印遍历结果 #include<stdio.h> #define MAX_VERTEX_NUM 20//最多顶点个数 #define ERROR -1t ...

  6. 图的遍历(搜索)算法 之 深度优先遍历算法

    图的遍历的定义: 从图中的某个顶点出发访问遍图中的所有顶点,并且每个顶点仅仅被访问一次. 图的遍历算法我们常见的而且用的最多的就有两种:其一是图的深度优先遍历算法:其二是图的广度优先遍历算法.这里我们 ...

  7. 【洛谷】马的遍历--广度优先搜索(BFS)

    题目描述 传送门:https://www.luogu.com.cn/problem/P1443 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意 ...

  8. 图的遍历——深度优先搜索和广度(宽度)优先搜索(含例题)

    专栏导读及目录https://blog.csdn.net/createprogram/article/details/86741044 深度优先搜索 DFS基本思想 基本步骤: 1.从图中某个顶点v0 ...

  9. 哈理工OJ 1490 咒语(BFS广度优先搜索)

    咒语 Time Limit: 1000 MS Memory Limit: 65535 K Total Submit: 162(37 users) Total Accepted: 53(35 users ...

  10. 图的遍历 广度优先遍历(爱思创)

    前言: 这篇文章还是是为了帮助一些 像我这样的菜鸟 找到简单的题解 问题描述: 读入一个用邻接矩阵存储的无向连通图,输出它的广度(宽度)优先遍历序列. 输入格式 第一行一个正整数 n(2≤n≤100) ...

最新文章

  1. WEB安全,SQL注入漏洞的加固代码汇总
  2. [原创] MAME架构、编译及配置浅析
  3. 最简单也最难——如何获取到Android控件的高度,获取android控件
  4. Linux中su命令详解
  5. 利用 fdisk进行分区
  6. array(2019CCPC网络预选赛 hdu6703主席树+set)主席树求大于等于k的最小值
  7. 基于密度的异常值检测方法整理
  8. 另一种声音:容器是不是未来?
  9. 如何部署Windows Server 2016 中的Storage Spaces Direct超聚合解决方案
  10. 《CSS揭秘》:菱形图片
  11. matlab回归系数 t检验6,matlab做回归分析时,能做t检验吗?
  12. linux部署was找不到8879端口,WAS8.0与IHS集群安装与配置指导手册
  13. elas源码赏析(二)sobel算子3*3行列分解快速卷积
  14. 百度认证(深度学习初级工程师)考试题1
  15. 虚拟机安装win10教程
  16. es6学习之Number类型
  17. 常见国际贸易专业术语
  18. Java后端春秋招之旅
  19. 电脑控制台命令的简单操作方式(黑窗口)
  20. 系统平台运营热门店铺模式

热门文章

  1. 《Qt Quick核心编程》勘误
  2. Golang蓝湖一面
  3. [蓝桥杯][算法提高VIP]我们的征途是星辰大海
  4. 考研数学145分之路:暑期精读大学数学课本
  5. mysql里any是什么_【MySQL】mysql中any,in,some,all的区别
  6. java--表格的使用
  7. kuangbin专题八 HDU4081 Qin Shi Huang's National Road System(次小生成树)
  8. blender 常用修改器
  9. 杭州电子科技大学acm--2019
  10. 「Shell」- 使用环境变量,替换在文件中的变量(envsubst) @20210401