我应该使用链接列表在C中实现a *算法,而没有基于维基百科给出的伪代码的成本启发式:
function reconstruct_path(came_from, current_node)
{
if came_from[current_node] in set
p := reconstruct_path(came_from, came_from[current_node])
return (p + current_node)
else
return current_node
}
我为此函数提供了以下原型:void reconstruct_path(LinkedList *camefrom, LinkedList /*nodes*/ pathlist, node* current)
。
我不明白这个函数的作用是什么,p究竟是什么,came_from[current_node]
是什么以及p+current_node
代表什么?