7个寻路算法 实用场合
2013-11-23 01:50
183 查看
如果你只需要知道是否存在一条路径就选BStar Bstar能快速找到一条路径,只是99%不是最短路径。
如果你要找一条最短路径 可以用AStar BFS算法,在地图比较简单AStar效率高,如果地图复杂还是选BFS吧(AStar要为自己的聪明付出代价)。
如果你要寻很多条路但他们的起点或终点一样就选Dijkstra SPFA算法,因为他们一次寻路就把所有到相同目标的路径都算出来了,Dijkstra算法稳定,SPFA算法不稳定,但我测试基本都是SPFA要快那么一点。
至于Floyd算法基本不实用,虽然一次计算把地图任意点对路径都算出来了,但效率实在太低。算法复杂度是格子数的3次方。
如果你要找一条最短路径 可以用AStar BFS算法,在地图比较简单AStar效率高,如果地图复杂还是选BFS吧(AStar要为自己的聪明付出代价)。
如果你要寻很多条路但他们的起点或终点一样就选Dijkstra SPFA算法,因为他们一次寻路就把所有到相同目标的路径都算出来了,Dijkstra算法稳定,SPFA算法不稳定,但我测试基本都是SPFA要快那么一点。
至于Floyd算法基本不实用,虽然一次计算把地图任意点对路径都算出来了,但效率实在太低。算法复杂度是格子数的3次方。
相关文章推荐
- 7个寻路算法 Dijkstra.h
- Unity A*寻路三个简单实用的算法
- 7个寻路算法 SPFA.h
- 即时战略游戏中实用的寻路算法分享
- 7个寻路算法 Floyd.h
- Unity A*寻路三个简单实用的算法
- 即时战略游戏中实用的寻路算法总结与比较
- 即时战略游戏中实用的寻路算法都有哪些,比较如何?
- 即时战略游戏中实用的寻路算法分享
- 经典的智能寻路算法A*
- cocos2dx A*寻路算法lua实现
- 天下武功,唯快不破——快递中的寻路算法
- 程序员必须知道的10大基础实用算法
- 实用算法
- 程序员必须知道的10大基础实用算法及其讲解
- 程序员必知的10大基础实用算法
- 7个鲜为人知却超实用的PHP函数
- A*寻路算法所生成的路径
- 四种寻路算法计算步骤比较