1) dijstra, 单元最短路径; 1个已知源点到其他所有每个点的最短路径。 n-1个最短路径一次性都求出来。
2)floyd,任意两点间最短路。n*n个最短路径。
3)bsf, best search first, 每次选择(下一个点到目标点最近的)点作为下一个选择。 估计方式可以有方向、绝对坐标等。。。
4)A star, f = g + h;从待选择点列表中, 对每个点做预测: g为当前已经过点的代价; h为当前点到目标点的估计代价; 选择f最小的点作为下一个点。
http://blog.renren.com/share/413364044/15400938012 ==================
http://www.189works.com/article-51515-1.html
http://www.th7.cn/Program/cp/2012/04/04/68141.shtml
5)最优性剪枝(上下界剪枝、α-β剪枝算法)。 记录当前可行解中的最优解; 当搜索过程中已无法产生好过最优解时, 则提前回溯。
本文介绍了五种经典的路径搜索算法:Dijkstra算法用于解决单源最短路径问题;Floyd算法解决任意两点间的最短路径问题;Best-First Search算法依据估计成本选择下一步;A*算法综合了当前路径成本和预估成本来确定下一步;最优性剪枝则是一种通用的搜索优化技术。
2587

被折叠的 条评论
为什么被折叠?



