图的遍历分为BFS宽度优先遍历和DFS深度优先遍历两种,前者以队列为载体,后者以递归为载体。邻接表模板:BFS 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const int maxn = 1000...
分类:
其他好文 时间:
2015-04-04 18:13:18
阅读次数:
152
深度优先遍历在图的遍历中,其中深度优先遍历和广度优先遍历是最常见,也最简单的两种遍历方法。深度优先遍历的思想就是一直向下找,找到尽头之后再去其他分支查找。在上一篇博客中我已经写了广度优先遍历(BFS)。
想看的传送门:图的广度优先遍历代码实现这里实现和BFS的差别在于,在BFS中,我们使用的容器是队列(queue),是先进先出的, 而在DFS中我们需要使用的是栈(stack)一个先进后出的容器。其...
分类:
编程语言 时间:
2015-04-01 17:48:45
阅读次数:
196
广度优先遍历广度优先遍历是非常常见和普遍的一种图的遍历方法了,除了BFS还有DFS也就是深度优先遍历方法,我在我下一篇博客里面会写。遍历过程相信每个看这篇博客的人,都能看懂邻接链表存储图。
不懂的人,请先学下图的存储方法。在我的之前博客里。
传送门:图表示方法然后我们假设有一个图如下:
节点1->3->NULL
节点2->NULL
节点3->2->4->NULL
节点4->...
分类:
编程语言 时间:
2015-04-01 07:07:28
阅读次数:
173
原题地址图的遍历,深度优先向来对图的数据结构就练习的比较少,这种题目还是挺好的。代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 bool dye(vector > &graph, vector &nodes...
分类:
其他好文 时间:
2015-03-22 00:29:12
阅读次数:
178
图的遍历算法图采用邻接表存储,其中有顶点结点和边结点如下:顶点结点[VerName,adjacent] 边结点[VerAdj,cost,link]其中VerName为顶点v结点名,adjacent为其第一个邻接顶点的地址。VerAdj为该临接顶点在Head表中的位置,link为顶点v下一个邻接顶点的...
分类:
编程语言 时间:
2015-03-20 16:01:01
阅读次数:
193
【题意】给定n个点,m条无向边,问有无欧拉回路
【分析】两个条件 [1]连通:用并查集或DFS [2]每个点度为偶数:用枚举或DFS
【实现】
这道题我用了邻接矩阵,这道题会有x->x的情况,这个不算在度内,所以要有:
for (int i=1;i
坑了我3次WA...
#include
#include
#include
using namespace std;...
分类:
其他好文 时间:
2015-03-13 00:28:58
阅读次数:
152
题意:n个点,n-1条路,求出从点s出发到每一个点必须经过的前一个点,到自身为-1思路:从s出发遍历一遍图就可以了,开flag数组记录下来每一个点的必经的点。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #i...
分类:
其他好文 时间:
2015-03-12 00:56:45
阅读次数:
147
自荐者和推荐者请留言
基本算法
贪心算法:贪心算法 作者:独酌逸醉
贪心算法精讲 作者:3522021224
递归和分治:递归与分治策略 作者:zhoudaxia
图论
图的遍历(DFS和BFS): 图的遍历 作者:jefferent
最小生成树(Prim算法和Kruskal算法): 贪心算法--最小生成树 作者:独酌逸醉
Dij...
分类:
编程语言 时间:
2015-03-11 17:18:33
阅读次数:
185
图的存储有多重方式,即使都是邻接表也会有不同的形式。同时图的遍历采用一些小技巧可以加速图的遍历效率,从而提高程序的执行效率。...
分类:
其他好文 时间:
2015-02-27 15:13:27
阅读次数:
123
当年老师给我们讲这里的时候,讲的真是云里雾里的。
。其实画个图就很容易理解的事情,为什么扯那么远
我觉得 DFS其实就是树的先序遍历的强化版本
BFS是层序遍历的强化
只不过 图的实现方式比较多元化 而且不像二叉树有明确的根
操作起来相对难一些
理论其实很好理解 就是具体操作起来 每次都很晕的样子
眼高手低了又。
图的遍历是指从图中的任一顶点出发,对图中的所有顶点访...
分类:
其他好文 时间:
2015-02-22 11:06:58
阅读次数:
269