启发函数:f(x)=g(x)+h(x); g(x)表示初始点到x状态的代价,h(x)表示从x的状态到目标状态的代价的估计值(并不是真实的),实际最小代价<=h(x); 起点s,终点t,x.v=s,x.len=0;然后优先队列中f(x)值最小值出队列,再根据出队列的x.v状态发展下一层.如果出队列时第一次遇到x.v==t, 就找到了s到t的最短路....如果第k次,那就是第k短.为了加速计算,h(p)需要在A*搜索之前进行预处理,只要将原图的所有边反向, 再从终点t做一次单源点最短路径就能得到每个…