【清明】搜索

来源:互联网 发布:狗听得懂人话吗 知乎 编辑:程序博客网 时间:2024/04/29 17:37

宽度优先搜索BFS
深度优先搜索DFS
部分剪枝
记忆化搜索
A*

1.BFS
宽度优先搜索,又称灌水法
想象一下,在你面前摆着一个……空花盆
然后你往里面灌水
水面是慢慢往上升的对不对?

所以BFS就是,先考虑所有情况,再从这些情况里继续考虑

推荐例题迷宫

2.DFS
深度优先搜索
想象一下,在你面前摆着一个……装满土的花盆
然后你想抓蚯蚓//喂
于是你找了把铲子,从一个地方下铲一直挖到底

所以DFS就是,从一种情况开始一直走下去,不撞南墙不回头

推荐例题全排列

3.部分剪枝
QAQ我怎么写的这么粗略啊

剪枝就是,减少多余状态
BFS的时候因为是拓展所有情况,很大一部分会浪费
可以通过题目相关条件,有的情况如果确定了没有解,那就别继续走了
DFS是同样的道理
走到这一步,就差不多看见南墙了,那就别撞了回头吧

剪枝剪神了就A*了//喂

4.记忆化搜索
走到这了,标个记号,以后走回来了看一眼,哦我到过这里了
然后拿着上次走过来的时候的状态用吧2333
比如滑雪这道题
你走过这个格子了,你要记住你到过这里
除非比当时来过这里的自己要优,不然无法更新

//所以一定要超过昨天的自己呀【笑

5.A*
A*,念作Astar//2333
伟大的剪枝之王Orz
为什么这么说呢
因为A*是带估价函数的搜索
我在走的时候,会提前计算下一步走各个情况的代价和收益
如果达不到我的期望值,那我就不走了

就好像买股票以前会考虑能挣多少,卖股票的时候会尽量挑价格高的时候
傻子才挑赔钱的时候卖啊……

经典例题八数码
(:зゝ∠) 不要脸的贴个题解地址
http://blog.csdn.net/Loi_Shirley/article/details/52688660

另一个经典例题 K短路
(:зゝ∠)这个好像没写题解

╮(╯_╰)╭然后我就这么草率的絮叨完了

0 0
原创粉丝点击