1

我只是想实现最好的第一次搜索,我不确定这个算法是否有任何 LIFO 或 FIFO 属性。如果是这样,我应该使用哪一个?我需要使用它吗?

4

2 回答 2

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

于 2012-11-16T21:15:41.610 回答
-2

它使用队列,因此您应该使用 FIFO。

于 2012-11-16T21:15:08.777 回答