上一节讲过深度优先搜索解决迷宫,http://blog.csdn.net/wtyvhreal/article/details/43268115
这一节讲解广度优先搜索解决迷宫。
广度优先搜索(Breadth First Search,BFS),也称为宽度优先搜索。
还是二维数组存储,开始小哼在(1,1)处,在深搜里我们先让小哼往右边走,然后一直尝试下去,直到走不通的时候再回到这里。这...
分类:
其他好文 时间:
2015-01-29 14:48:04
阅读次数:
242
原题地址既然是求最短路径,可以考虑动归或广搜。这道题对字典直接进行动归是不现实的,因为字典里的单词非常多。只能选择广搜了。思路也非常直观,从start或end开始,不断加入所有可到达的单词,直到最终到达另一端。本质上广度优先遍历图。需要注意的是,拓展下一个单词时不能对字典进行枚举,因为字典里的单词太...
分类:
其他好文 时间:
2015-01-21 11:32:59
阅读次数:
205
本学期的课程设计,实现最短路的算法,于是采用了DIJKSTRA算法,并用双向广搜优化了。
实现了简易的北京地铁导航。于是把代码分享出来。...
分类:
编程语言 时间:
2015-01-21 09:05:28
阅读次数:
323
抓住那头牛(POJ3278)农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0 2 #include 3 #include 4 using namespace std; 5 #define MAX 100000 6 struct Step 7 { 8 int xx...
分类:
其他好文 时间:
2015-01-17 19:29:49
阅读次数:
121
先简单的了解一下,双向广搜很好理解,就是从两端一起搜,如果遇到之前已经搜到过的状态,就相当于已经有解了,这样就会节省一半的内存和时间,并且代码复杂度并不高。只需要在正常的基础上多开一个域,保存这个点是从起始状态还是终止状态拓展的。当然双向广搜中状态的判断需要一些技巧,现在还没有总结出什么。八数码问题...
分类:
其他好文 时间:
2015-01-02 18:45:13
阅读次数:
206
http://poj.org/problem?id=2251
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-12-29 09:01:17
阅读次数:
137