搜索算法14之总结

    做了近两周的搜索专题,感觉收获颇大。首先就是知道了主要的知识点或者说是搜索方法,严格来说,其实就是深搜和广搜,当然也夹杂着二分查找与三分算法,当然偶尔也遇到了回溯算法。

    BFS用的是队列,DFS用的是递归。递归之前写程序的时候偶尔会用用,所以深搜学起来用起来很快,但是队列以前没学过,最近看了看书了解了下但是写程序以前没用过,所以用起来还不是很随意。我个人感觉深搜与广搜的本质不同就是深搜下一次扩展的是本次扩展出来的子节点中的一个,而广搜扩展的则是本次扩展的节点的兄弟节点。所以也就导致最终采用了不同的数据结构。

    广搜是求解最优解的一种较好的方法,而深搜一般会用于只要求求解,并且解答树中的重复结点较多且重复较难判断时使用。

    当然,还有双向广搜。单向广搜虽然可以得到最优解,但是空间消耗增长快,如用广搜,则在理论上可以减少二分之一的搜索量,可有效提高搜索速度。

    最后,要用一句话来总结搜索的话就是:一切都是套路啊。我感觉搜索的题目思路找起来还可以,代码写起来结构都是相似的,很好写。当然了,正所谓:纸上得来终觉浅,绝知此事要躬行,要想真正的理解各种搜索的思想,还是要多做题啊。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值