广度优先搜索伪代码理解
Breadth First Search Pseudo Code Understanding
关于上面的伪代码,我有两个问题。
- 函数 SOLUTION(node) 的作用是什么?如何实现它?
- 在倒数第 3 行,我们检查 child 是否不在边界内。如何在 FIFO 队列中检查它?
SOLUTION(node)
return是问题的完整解决方案,而不仅仅是一个节点。在寻路问题中,它可能 return 从开始到结束节点的完整路径
示例:
def SOLUTION(node):
result = []
while(node.predecessor is not None):
result.append(node.predecessor)
node = node.predecessor
- 线性搜索边界。如果这不可能,只要您在节点出列后检查该节点是否处于探索状态,它仍然可以工作,但这需要额外的内存。
关于上面的伪代码,我有两个问题。
- 函数 SOLUTION(node) 的作用是什么?如何实现它?
- 在倒数第 3 行,我们检查 child 是否不在边界内。如何在 FIFO 队列中检查它?
SOLUTION(node)
return是问题的完整解决方案,而不仅仅是一个节点。在寻路问题中,它可能 return 从开始到结束节点的完整路径
示例:
def SOLUTION(node):
result = []
while(node.predecessor is not None):
result.append(node.predecessor)
node = node.predecessor
- 线性搜索边界。如果这不可能,只要您在节点出列后检查该节点是否处于探索状态,它仍然可以工作,但这需要额外的内存。