Answers:
GRASS GIS在r.cost
(源,文档)中使用 min-heap进行了C实现。或者,您可以使用QuickGraph和Floyd-Warshall之类的图形包来计算成本。
GRASS 6.4的最新更改使r.cost大大加快了,因此性能也许足够好:在我的笔记本电脑上,一个1M单元区域大约需要3s,而启用骑士移动大约需要5s。GRASS是一个C应用程序,而不是C#代码库的嵌入式解决方案。如果可以添加到堆栈中,则可以使用PyWPS调用GRASS,然后在应用程序的其他位置使用结果。
这能够找到跨int数组的最短路径。似乎在带有4000,4000阵列的笔记本电脑上可以正常工作,可能值得一看。
http://www.codeproject.com/Articles/9040/Maze-Solver-shortest-path-finder