A*算法的介绍在下面这篇文章中说的很详细了,就不在这阐述了,这篇文章主要是介绍自己的一些理解,一些重点的解释,和效果展示。同样给出了代码编写的思路。代码会给下载链接。
A*算法可参考文章(介绍的很好):http://www.cppblog.com/christanxw/archive/2006/04/07/5126.html
代码已上传:
1)从txt文本读取地图命令窗口显示,方便算法调试:
http://download.csdn.net/detail/lmnxjf/5362983(免积分)
2) 演示程序下载,即代码编译后的exe文件,直观显示效果,鼠标拖动绘制地图:http://download.csdn.net/detail/lmnxjf/5363017(免积分)
3) 为2)整个工程的代码,vs2010下编写,将A*算法封装为类,同时可以熟悉windows的画笔和画刷的使用:http://download.csdn.net/detail/lmnxjf/5363039(2积分)
以前做的一些画笔画刷程序
1) 俄罗斯方块免积分下载:
http://download.csdn.net/detail/lmnxjf/5332451(免积分)
相应的博文:http://blog.csdn.net/lmnxjf/article/details/8886537
csdn上传后就不能再对资源进行修改了,所以第三个会要积分下载。
二 A* 算法的实现
A*算法是一种静态路网中求解最短路最有效的方法。公式表示为:f(n)=g(n)+h(n)
n f(n) 是从初始点经由节点n到目标点的估价函数,
n g(n) 是在状态空间中从初始节点到n节点的实际代价,
n h(n) 是从n到目标节点最佳路径的估计代价。
其实A*算法是一种最好优先的