最近有空,用Java写了个A*搜索,并使用swing做为显示。
关于算法知识,可以在这里查到(http://en.wikipedia.org/wiki/A*_search_algorithm),其它网站也有很多介绍。我就不说了。本文主要提供源码下载和一些测试数据。
硬件:ThinkpadX200 7457CH1
CPU : Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
内存:2G
软件:Linux
系统:UBuntu11.10
JDK:OpenJDK 1.6.0_22
测试参数:
测试搜索格子数:60*40
平均耗费:3毫秒(有时候出现搜索很慢,那是因为在初始化openList的时候会进行Array的复制,这个可以通过改用其它数据结构实现更快。或者你在初始化时直接指定openList的大小)
下面附上运行效果图:
源码(AStarDemo是启动类)以及运行程序下载:点击前往下载
原文链接:http://blog.csdn.net/kakashi8841/article/details/7300893
【编辑推荐】
- 浅析Java抽象类和接口的比较
- Java代码格式规范个人推荐(带范例)
- Java类和对象的初始化顺序
- Think in Java之构造器的真正调用顺序
- 用Java编写你自己的简单HTTP服务器
推荐阅读
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性>>>详细阅读
本文标题:A*搜索算法(附带可运行源码)
地址:http://www.17bianji.com/kaifa2/Java/913.html
1/2 1