图算法二之深度优先搜索
来源:互联网 发布:福特基金会 知乎 编辑:程序博客网 时间:2024/06/08 19:39
前面我们已经介绍了广度优先算法,我们这一张介绍深度优先,深度优先不同于广度优先在于,广度优先算法是一层一层的搜索,即搜索一个节点,然后搜索它所有的字节点,而深度优先搜索则是,搜索一个节点后,先搜索其一个节点,然后深度搜索,搜索完了以后,再搜索这个节点的其他兄弟节点。
相比于广度优先算法,我们将bfs中的队列改为栈,采用同样的数据结构,实现代码如下
void dfs(graph *g,int start){ edgenode *p; stack<int> q; q.push(start); discovered[start]=true; while(!q.empty()) { int x=q.top(); q.pop(); p=g->nodes[x]; if(!processed[x]) { cout<<x<<" "; processed[x]=true; } while(p) { int y=p->y; if(!processed[y]&&!discovered[y]) { parent[y]=x; q.push(y); discovered[y]=true; } p=p->next; } }}
阅读全文
0 0
- 图算法二之深度优先搜索
- 图深度优先搜索之二染色
- 【深度优先搜索(DFS)算法】数据结构之图的深度优先搜索算法DFS初试
- 算法导论-图的搜索算法之深度优先搜索和广度优先搜索
- 图算法:深度优先搜索
- 【算法学习】二、深度优先搜索与广度优先搜索
- 算法二:深度和广度优先搜索
- 图搜索之A*算法、深度优先搜索和广度优先搜索
- 图搜索之A*算法、深度优先搜索和广度优先搜索
- 图的遍历之深度优先搜索算法&&广度优先优先算法的实现
- 算法之深度优先搜索和广度优先搜索
- 图之深度优先搜索
- 经典算法之图的深度优先搜索遍历
- 经典算法之深度优先搜索
- [算法] 基本图算法:深度优先搜索、广度优先搜索
- 面试题常见算法之图的广度优先搜索和深度优先搜索
- 深度优先搜索算法
- 深度优先搜索算法
- centos 7.4 + yum + pgsql 10.1
- Pyhton爬虫实战
- Android Splash界面支持用户点击 直接进入主界面
- 171214之项目错误总结2
- mysql分批次插入VS一次性插入
- 图算法二之深度优先搜索
- C#,读取shp源文件 ,将要素生成JSON格式(面图层)
- HDU1811Rank of Tetris 拓扑排序+并查集
- 政府安全资讯精选 2017年第十七期 全国各地开展打击整治网络侵犯公民个人信息犯罪专项行动;中共中央办公厅、国务院办公厅印发计划 IPv6规模部署提上日程
- 谷歌浏览器按F12调试js代码的时候找不到代码在哪
- 解决Spring中singleton中注入prototype Bean的问题
- ubuntu 安装jupyter
- 第十六周java作业
- numpy.asarray: 转输入为数组