【发布时间】:2023-03-29 08:04:01
【问题描述】:
有这么多可用的实现,使用小网格的 C++ 执行速度最快(CPU 密集度最低、二进制文件最小)、跨平台(Linux、Mac、Windows、iPhone)A* 实现是什么?
实现
谷歌返回:
- http://www.heyes-jones.com/astar.html(该站点上的大多数链接都已失效。)
- http://www.grinninglizard.com/MicroPather(据说比 Heyes-Jones 慢。)
- http://www.ceng.metu.edu.tr/~cuneyt/codes.html(通用 C++ 代码。)
- http://swampthingtom.blogspot.com/2007/07/pathfinding-sample-using.html
- http://opensteer.sourceforge.net/(对游戏感兴趣,不是 A*。)
- Stack Overflow on Dijkstra's Algorithm
还有其他人吗?
轮子
正如所问的,这个问题涉及重用(插入游戏),而不是重新发明(至少在性能被证明是一个问题之前)。结果可能是 Dijkstra 实现(或通用寻路算法)更适合,或者最快的实现不够快。我很欣赏替代算法的建议,但问题不是“我应该自己滚动 A* 吗?”
【问题讨论】:
标签: c++ iphone algorithm a-star