具体情况看文件内附的测试程序。
1、本动态库用来找到从一个指定点到达目的地点的最短路径。
2、本动态库不是最快的,但是相对容易看懂,和算法中介绍的方法尽可能表述一致(使用两个集合列表,而不是用数组for循环来模拟集合)。
3、要想使用动态库,请参考我给出的示例程序。或者:在项目中添加引用->浏览到动态库,然后在编程文档最上面添加Import Dijsktra。然后添加代码即可:参考我给出的示例程序。
如果示例程序无法运行,请把Dijkstra.dll拷贝到windows\system目录下。或者更改程序->引用中的Dijkstra.dll的路径。
4、源代码看心情发吧。毕竟敲了半天,说明写了半天,累个半死。
5、程序使用VB.net2010编写,使用.netFramwork2.0框架。
作为基础和我一样的菜鸟,本程序尽可能使用最少的编程技术。只要掌握下列基本知识即可完全搞懂:
类
重载;
泛型;以便支持各种类型的节点,比如String,Point等
List( of T)列表;强类型列表,必须强制列表中的数据都是同一种类型。可以方便的排序、查找、检查重复等。
IEquatable接口;这个接口是为了快速查找数据、以及检查重复。
IComparable接口;这个接口是为了让数据自动排序。
6、本动态库使用Dijkstra算法。
具体数学分析请参考:火星十一郎-张朋飞的博文:彻底弄懂最短路径问题
文件下载地址:点击打开链接