据我理解:
将当前节点添加到关闭列表中。
查找与当前节点相邻的节点,如果它们不是无法走动的节点且不在关闭列表中,则将该节点添加到开放列表中,并计算F、G和H值,其父节点为当前节点。如果该节点已经存在于开放列表中,请检查是否通过当前节点前往该节点将导致较低的G值-如果是,请将该节点的父节点设为当前节点。
在开放列表中查找F值最高的节点,并将当前节点设置为该节点。
重复以上步骤,直到到达目的地,然后遍历目的地节点的父节点,您将返回起始节点。那将是最好的路径。
因此,这对我的大脑很有意义,但当我在图表上实际尝试时,我认为自己没有正确理解它。
(来自下面的图片)从起始绿色瓷砖向下移动,具有F值60的瓷砖在开放列表中,比右下角的74个瓷砖具有较低的F值。为什么选择74而不是60?
将当前节点添加到关闭列表中。
查找与当前节点相邻的节点,如果它们不是无法走动的节点且不在关闭列表中,则将该节点添加到开放列表中,并计算F、G和H值,其父节点为当前节点。如果该节点已经存在于开放列表中,请检查是否通过当前节点前往该节点将导致较低的G值-如果是,请将该节点的父节点设为当前节点。
在开放列表中查找F值最高的节点,并将当前节点设置为该节点。
重复以上步骤,直到到达目的地,然后遍历目的地节点的父节点,您将返回起始节点。那将是最好的路径。
因此,这对我的大脑很有意义,但当我在图表上实际尝试时,我认为自己没有正确理解它。
(来自下面的图片)从起始绿色瓷砖向下移动,具有F值60的瓷砖在开放列表中,比右下角的74个瓷砖具有较低的F值。为什么选择74而不是60?