我只是想尝试实现最好的第一次搜索,我不确定该算法是否有任何LIFO或FIFO属性。如果是的话我应该使用哪一个?我需要使用它吗?
答案 0 :(得分:5)
有关此伪代码,请参阅http://en.wikipedia.org/wiki/Best-first_search#Algorithm_.5B3.5D:
OPEN = [initial state]
while OPEN is not empty or until a goal is found
do
1. Remove the best node from OPEN, call it n.
2. If n is the goal state, backtrace path to n (through recorded parents) and return path.
3. Create n's successors.
4. Evaluate each successor, add it to OPEN, and record its parent.
done
步骤1说“删除最佳节点” - 这意味着使用Priority Queue。
答案 1 :(得分:-2)
它使用队列,所以你应该使用FIFO。