搜索小结

最近几天一直写搜索题,开始一些题,可能摸不着头脑,总结一下
搜索算法分类
DFS
- 普通DFS
- 迭代加深算法
- IDA*
BFS
- 普通BFS
-优先队列BFS(堆)
-双向BFS
-A*算法()
搜索的剪枝与优化

经典回溯(DFS):n皇后问题(回溯入门):http://blog.youkuaiyun.com/feng_zhiyu/article/details/74346235
素数环问题:http://blog.youkuaiyun.com/feng_zhiyu/article/details/75576867
困难串(减少不必要的比较):http://blog.youkuaiyun.com/feng_zhiyu/article/details/75645483

BFS和双向BFS经典模板:Knight Moves:http://blog.youkuaiyun.com/feng_zhiyu/article/details/75174946
中国象棋中的跳马问题:http://blog.youkuaiyun.com/feng_zhiyu/article/details/75602865
中国象棋的跳马问题就是在Knight Moves的基础上多了一个判断是否撇腿的条件
逃离迷宫(将BFS模板的记录步数转变成记录转弯数):http://blog.youkuaiyun.com/feng_zhiyu/article/details/75576955
八数码问题(关键在判重,此处判重相当与BFS模板中的标记):http://blog.youkuaiyun.com/feng_zhiyu/article/details/75379518

通常BFS是求解最少时间,最少步数,最短路径的,DFS是求解方案数,个数的
例如:求解个数(DFS): http://blog.youkuaiyun.com/feng_zhiyu/article/details/73477830
求解最短时间:http://blog.youkuaiyun.com/feng_zhiyu/article/details/75331956
最少步数:http://blog.youkuaiyun.com/feng_zhiyu/article/details/75602865
http://blog.youkuaiyun.com/feng_zhiyu/article/details/75174946

但就我看了某些大牛的博客,感受到有的题,即使是求最少步数,自己第一眼认为是BFS的,在大牛眼里还是渣了,,, 例如:神奇密码锁:http://blog.youkuaiyun.com/feng_zhiyu/article/details/75364525 这道题其实可以用DFS写出来(比较快,但是剪枝要写好),但是还不理解,理解了再写写看吧
但是通常,容易想到的,比较熟悉的还是对于自己来说是最好的吧

有不对的地方,望指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值