图算法(一)——基本图算法(BFS,DFS及其应用)(1)
1)BFS
广度优先搜索:给定源节点s,生成广度优先搜索树
广度优先搜索树中从节点s到节点v的简单路径对应的就是s到v的最短路径(边数最少的路径)
广度优先:将已发现节点与未发现节点之间的边界(灰色节点),沿其广度方向向外扩张
#include<stack>
#include<vector>
#include<queue>
#include<algorithm> using namespace std;
#define INF 99999999
#define NIL -1
int n;
int g[][];
struct Node
{
int color;
int d; //distance
int pi; //pi,ancestor
}t[];
queue<int> q; void BFS(int s)
{
for (int i=;i<n;i++)
{
if (i!=s)
{
t[i].color = ;
t[i].d = INF;
t[i].pi = NIL;
}
}
t[s].color = ;
t[s].d = ;
t[s].pi = NIL;
q.push(s);
while (!q.empty())
{
int u = q.front();
q.pop();
for (int v=;v<n;v++)
{
if ((g[u][v] == )&&(u != v))
{
if (t[v].color == )
{
t[v].color = ;
t[v].d = t[u].d + ;
t[v].pi = u;
q.push(v);
}
}
}
t[u].color = ;
}
} /*
int main()
{
while (cin>>n)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
cin>>g[i][j];
}
}
int s;
cin>>s;
BFS(s);
for (int i=0;i<n;i++)
{
cout<<i<<" "<<t[i].d<<" "<<t[i].pi<<endl;
}
}
return 0;
}
*/
图算法(一)——基本图算法(BFS,DFS及其应用)(1)的更多相关文章
- POJ 2227 The Wedding Juicer (优先级队列+bfs+dfs)
思路描述来自:http://hi.baidu.com/perfectcai_/item/701f2efa460cedcb0dd1c820也可以参考黑书P89的积水. 题意:Farmer John有一个 ...
- 邻结矩阵的建立和 BFS,DFS;;
邻结矩阵比较简单,, 它的BFS,DFS, 两种遍历也比较简单,一个用队列, 一个用数组即可!!!但是邻接矩阵极其浪费空间,尤其是当它是一个稀疏矩阵的时候!!!-------------------- ...
- Collect More Jewels(hdu1044)(BFS+DFS)
Collect More Jewels Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- Cleaning Robot (bfs+dfs)
Cleaning Robot (bfs+dfs) Here, we want to solve path planning for a mobile robot cleaning a rectangu ...
- LeetCode:BFS/DFS
BFS/DFS 在树专题和回溯算法中其实已经涉及到了BFS和DFS算法,这里单独提出再进一步学习一下 BFS 广度优先遍历 Breadth-First-Search 这部分的内容也主要是学习了labu ...
- 经典图算法Java代码实践:BFS,DFS以及几种最短路径算法
public class City { String name; int id; static int idCounter = 0; public City(String name) { this.n ...
- 程序员的算法课(18)-常用的图算法:广度优先(BFS)
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...
- 图的基本遍历算法的实现(BFS & DFS)复习
#include <stdio.h> #define INF 32767 typedef struct MGraph{ ]; ][]; int ver_num, edge_num; }MG ...
- BFS/DFS算法介绍与实现(转)
广度优先搜索(Breadth-First-Search)和深度优先搜索(Deep-First-Search)是搜索策略中最经常用到的两种方法,特别常用于图的搜索.其中有很多的算法都用到了这两种思想,比 ...
- NOIP2010引水入城[BFS DFS 贪心]
题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度. ...
随机推荐
- XmlPull
XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); // 创建解析器. XmlPullParser parser = ...
- 理解Null,Undefined,NAN
1.null表示尚未存在的对象,转为数值时为0.它表示"没有对象",即该处不应该有值,常用来表示函数企图返回一个不存在的对象.null是一种特殊的object(引用类型),代表一个 ...
- POJ2112 Optimal Milking(最大流)
先Floyd求牛到机器最短距离,然后二分枚举最长的边. #include<cstdio> #include<cstring> #include<queue> #in ...
- TYVJ P1016 装箱问题 Label:01背包 DP
做题记录:2016-08-15 23:07:04 背景 太原成成中学第2次模拟赛 第三道 描述 有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30),每个物品有一个体积 ( ...
- 【BZOJ】 1007: [HNOI2008]水平可见直线(凸壳)
http://www.lydsy.com/JudgeOnline/problem.php?id=1007 一开始我贪心的写了下,当然全wa了.. 这题看了题解感觉很简单. 首先什么情况才能看到呢? w ...
- UOJ#61. 【UR #5】怎样更有力气
大力水手问禅师:“大师,很多事情都需要用很大力气才能完成,而我在吃了菠菜之后力气很大,于是就导致我现在非常依赖菠菜.我很讨厌我的现状,有没有办法少吃点菠菜甚至不吃菠菜却仍很有力气?” 禅师浅笑,答:“ ...
- dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算(终结版)
首先,说下概念(网上很多帖子几个地方都搞混了,理一下): dip : device independent pixels ,设备无关像素. 我看很多帖子写的五花八门的,关于d的,什么display ...
- OpenCV 2.4.11 VS2010 Configuration
Add in the system Path: C:\opencv\build\x86\vc10\bin; Project->Project Property->Configuration ...
- Marching Cube
GPU-Marching-Cubes An Implementation of the Marching Cubes[1] Algorithm Marching Cubes Matlab The St ...
- thinkphp框架中session常识
在看别人代码时候,发现他,在tp框架中使用session没有些session_start();然后我去查看了手册初始化设置方法 无需手动调用,在App类的初始化工作结束后会自动调用,通常项目只需要配置 ...