A*搜索算法(附帶可運(yùn)行源碼)
最近有空,用Java寫了個(gè)A*搜索,并使用swing做為顯示。
關(guān)于算法知識(shí),可以在這里查到(http://en.wikipedia.org/wiki/A*_search_algorithm),其它網(wǎng)站也有很多介紹。我就不說(shuō)了。本文主要提供源碼下載和一些測(cè)試數(shù)據(jù)。
硬件:ThinkpadX200 7457CH1
CPU : Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
內(nèi)存:2G
軟件:Linux
系統(tǒng):UBuntu11.10
JDK:OpenJDK 1.6.0_22
測(cè)試參數(shù):
測(cè)試搜索格子數(shù):60*40
平均耗費(fèi):3毫秒(有時(shí)候出現(xiàn)搜索很慢,那是因?yàn)樵诔跏蓟痮penList的時(shí)候會(huì)進(jìn)行Array的復(fù)制,這個(gè)可以通過(guò)改用其它數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)更快?;蛘吣阍诔跏蓟瘯r(shí)直接指定openList的大小)
下面附上運(yùn)行效果圖:
源碼(AStarDemo是啟動(dòng)類)以及運(yùn)行程序下載:點(diǎn)擊前往下載
原文鏈接:http://blog.csdn.net/kakashi8841/article/details/7300893
【編輯推薦】