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)的更多相关文章

  1. POJ 2227 The Wedding Juicer (优先级队列+bfs+dfs)

    思路描述来自:http://hi.baidu.com/perfectcai_/item/701f2efa460cedcb0dd1c820也可以参考黑书P89的积水. 题意:Farmer John有一个 ...

  2. 邻结矩阵的建立和 BFS,DFS;;

    邻结矩阵比较简单,, 它的BFS,DFS, 两种遍历也比较简单,一个用队列, 一个用数组即可!!!但是邻接矩阵极其浪费空间,尤其是当它是一个稀疏矩阵的时候!!!-------------------- ...

  3. Collect More Jewels(hdu1044)(BFS+DFS)

    Collect More Jewels Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  4. Cleaning Robot (bfs+dfs)

    Cleaning Robot (bfs+dfs) Here, we want to solve path planning for a mobile robot cleaning a rectangu ...

  5. LeetCode:BFS/DFS

    BFS/DFS 在树专题和回溯算法中其实已经涉及到了BFS和DFS算法,这里单独提出再进一步学习一下 BFS 广度优先遍历 Breadth-First-Search 这部分的内容也主要是学习了labu ...

  6. 经典图算法Java代码实践:BFS,DFS以及几种最短路径算法

    public class City { String name; int id; static int idCounter = 0; public City(String name) { this.n ...

  7. 程序员的算法课(18)-常用的图算法:广度优先(BFS)

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...

  8. 图的基本遍历算法的实现(BFS & DFS)复习

    #include <stdio.h> #define INF 32767 typedef struct MGraph{ ]; ][]; int ver_num, edge_num; }MG ...

  9. BFS/DFS算法介绍与实现(转)

    广度优先搜索(Breadth-First-Search)和深度优先搜索(Deep-First-Search)是搜索策略中最经常用到的两种方法,特别常用于图的搜索.其中有很多的算法都用到了这两种思想,比 ...

  10. NOIP2010引水入城[BFS DFS 贪心]

    题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城市都有一个海拔高度. ...

随机推荐

  1. hdu 1290

    http://www.cnblogs.com/songacm/p/3537419.html 引用自这篇博客,真·大神

  2. 2016.5.27 PHP连接数据库与查询

    提示mysql_query() expects parameter 2 to be resource, null given in 错误是因为你没有连接数据库就进行了查询,正常的程序应该这样写: fu ...

  3. oracle处理考勤时间,拆分考勤时间段的sql语句

    最近一直在用mysql数据库做云项目,有段时间没有接触oracle了,昨天有朋友叫我帮忙用oracle处理一个考勤记录的需求,我在考虑如何尽量精简实现上面花了一些时间.于是把这个实现做个总结. 需求如 ...

  4. Spring计划

    团队: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...

  5. LightOJ1119 Pimp My Ride(状压DP)

    dp[S]表示已经完成的工作集合 枚举从哪儿转移过来的,再通过枚举计算花费..水水的.. #include<cstdio> #include<cstring> #include ...

  6. Fengshui-[SZU_B40]

    Description Fengshui is an ancient subject in Chinese tradition. Someone considers it as science and ...

  7. linux fork 进程后 主进程的全局变量

    fork一个进程后,复制出来的task_struct结构与系统的堆栈空间是父进程独立的,但其他资源却是与父进程共享的,比如文件指针,socket描述符等 不同的进程使用不同的地址空间,子进程被创建后, ...

  8. SSH自定义分页标签

    本文参考文章:http://blog.csdn.net/qjyong/article/details/3240303 一.标签处理类: package cn.conris.sys.form; impo ...

  9. iOS移动开发周报-第22期

    iOS移动开发周报-第22期 [摘要]:本期iOS移动开发周报带来如下内容:苹果股价创新高,iOS8自动调整UITableView布局,Swift学习心得等. 新闻 <苹果股价创新高 市值全球第 ...

  10. juniper防火墙 L2TP VPN配置

    juniper防火墙 L2TP  VPN配置 建立L2TP_POOL 创建连接的用户: 创建用户组: 更改L2TP的连接池: 更改L2TP的隧道: 设置防火墙的策略: Win7连接: