python广度优先遍历_Python怎么实现广度优先遍历

匿名用户

1级

2011-12-08 回答

print dir(list)

from util import Queue

queue=Queue()

result_list=[]

tree_list = [] #他存储上下两个状态和动作信息

currentState=problem.startState

problem._visitedlist.append(currentState)

queue.push(currentState)

bl=0

while(bl==0):

currentState = queue.pop()

successor = problem.getSuccessors(currentState)

for each in successor: #'each' is like ((34,15),'west',1)

temp=each[0]

if(each[0] not in problem._visitedlist):

# print each

temp=(each,currentState)

tree_list.append(temp)

problem._visitedlist.append(each[0])

queue.push(each[0])

if problem.isGoalState(each[0]):

bl=1

break

result_list.append(temp[0][1])

parent=temp[1]

first=problem.startState

while(parent!=first):

for each in tree_list:

if(each[0][0]==parent):

result_list.append(each[0][1])

parent=each[1]

break

result_list.reverse()

print result_list

return result_list

#print tree_list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值