我正在尝试使用网格(二维数组)实现 GBFS 和 A*。我想在我们进一步讨论之前......这两种算法都记得以前的位置吗?如果是,这是否意味着如果启发式更好,它会跳转到那个位置,即如果它会跳转到兄弟姐妹的孩子的节点,如果兄弟姐妹的孩子比当前节点的孩子有更好的启发式?更好的解释是,例如,如果我有一个 8x8 网格并且我在坐标 7,7 上,我检查了它旁边的单元格,但在 PriorityQueue 中,我们有一个坐标 3,5,它比下一个单元格具有更好的启发式到 7,7...我们会跳到 3,5 吗?
如果答案是肯定的,那么我的问题是如何从已从 PriorityQueue 中删除的返回节点创建正确的路径,因为我们可以从一个位置跳转到另一个位置?即我们如何修剪节点以创建实际路径?