双向广搜

双向广搜(内含八数码题解

双向广度优先搜索算法的步骤如下: 
1)定义状态结点 
    与广度优先搜索算法相同。 
2)确定结点扩展规则 
    与广度优先搜索算法也相同。但需要定义两个队列,一个存储(从初始结点向目标结点)正向扩展的结点,另一个存储(从目标结点向初始结点)反向扩展的结点。 
3)搜索策略 
(1)从正向扩展的队列头取出一个结点,检查它按照扩展规则是否能够扩展,如果能则产生一个新结点。 
(2)检查新生成的结点,看它是否已在正向扩展的队列中存在,如果新结点已经在队列中出现过,就放弃这个结点。否则,如果新结点未曾在队列中出现过,则将它加入到队列尾。 
(3)检查新结点是否在反向扩展的队列中出现过,如果是,则两个队列在新结点处相遇,搜索成功,程序结束;若新不是,则继续。 
(4)对反向扩展的队列按(1)、(2)、(3)的步骤进行相同的处理。 
(5)未找到目标结点(两个队列位相遇)时回到第(1)步,再从队列头取出结点进行扩展......。 

这篇博客也不错的:搜索入门




(脑阔疼 T_T

Orz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值