有这么多可用的实现,使用小网格的C++ A*算法中,跨平台(Linux、Mac、Windows、iPhone)中最快执行(最小CPU占用,最小二进制文件)的实现是什么?
实现
Google返回:
- 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*算法。)
- Dijkstra算法的Stack Overflow问题
还有其他的吗?
结论
所问问题涉及重用(插入游戏),而非重新实现(至少在性能没有问题之前不是)。这可能导致Dijkstra算法或通用路径搜索算法更加合适,或者最快的实现并不够快。我感谢替代算法的建议,但问题不是“我应该自己实现A*算法吗?”