搜索方式的优缺比较

首先先来说明常见的搜索方式:(本人目前遇到的 以后遇到新的搜索方法继续更新)

1.dfs(深度优先搜索)。2.bfs(广度优先搜索)3.迭代加深搜索(IDA*)

一.dfs

搜索方式是按照人为设定方向进行搜索不撞南墙不回头 所以适合做找解是否存在的问题 找最优解一般不会用

其优点是空间开销少(因为状态的记录利用回溯是可以用一块内存空间来实现的)

二,bfs

搜索方式是由当前节点 同时向下一次可能方向的节点拓展 适用于找最优解问题

其缺点是空间开销大 因为 每个节点必须记录目前的状态信息(不像dfs可以用一块内存做修改)

三,迭代加深搜索

搜索方式是利用dfs 模拟bfs 我们每次设一个最大层maxd 表示搜索的最大深度 当dfs搜索到此深度是回溯

不难脑补出dfs 模拟bfs的画面  有许多看似bfs的题目要用此方法解决 因为这个省空间 (甚至省时间 当bfs转移代价过大时 而dfs的转移可能是o(1)的)(uva 旋转游戏)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值