文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发Java单源点最短路径Dijkstra算法的JAVA实现
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
·Java开源技术:Eclipse的使用技巧详解
·新手入门:Java中的修饰词使用方法总结
·JAVA开发者应该去的20个英文网站
·使用JDBC创建数据库访问程序
·JDK的命令详解
·Java学习从入门到精通(附FAQ)
·Tomcat性能调整
·JSF:Java中面向Web开发的生旦净末丑
·对Java语言入门初学者的一些建议
·Java技术的新方向
热点TOP10
·Java图形用户界面设计
·在桌面应用中使用JAVA DB
·3D编程指南第一部分:快速进入移动JAVA 3D编程世界
·java swing的拖放例子
·用Java编写的记事本程序(1)
·用Java编写的记事本程序(3)
·JasperReport经验谈
·图解JBuilderX安装与实践
·用java编写的小游戏源代码分析
·struts+spring+ibatis轻量级J2EE开发
·单源点最短路径Dijkstra算法的JAVA实现
·实例讲解:Java中的SOAP技术
·初学者想学Hibernate,初级基础教程
·中国农历二百年算法及年历程序分析一
·用Java实现SMTP服务器
·Java语言出现的背景 影响及前景
·Java Applet 入门第三天
·用Java编写的记事本程序(2)
·Java学习从入门到精通(附FAQ)
·通过JCA实现企业级应用程序的“即插即用”

单源点最短路径Dijkstra算法的JAVA实现

日期:2007年5月4日 作者: 查看:[大字体 中字体 小字体]


在城市智能交通中,经常会用到最短路径的问题,比如找最佳的行车路线等,Dijkstra算法做为最经典的求解方法,为我们指明了方向.不过真正想让我了解该算法的原因是在学习ICTCLAS的N-最短路径算法,虽然和我们常用的案例有一点区别,但基本相同,为了更好的理解N-最短路径算法,我又重新把大学时代的数据结构知识搬了出来。

在网上找到一篇文章,非常详细生动(有FLASH动画演示)的描述了该算法的实现,不过第一页右下角的图终点那一列2和3弄反了,看的时候要注意 ,具体的算法描述不再赘述,请参考:

http://student.zjzk.cn/course_ware/data_structure/web/tu/tu7.5.1.htm

下面给出我的算法实现具体代码,为了更好的验证程序的正确性,在原来的基础上我又多加了几条边

package sinboy.datastructure;

import java.util.ArrayList;

public class Dijkstra ...{
    static ArrayList<Side> map = null;

    static ArrayList<Integer> redAgg = null;

    static ArrayList<Integer> blueAgg = null;

    static Side[] parents = null;

    public static void main(String[] args) ...{
        // 初始化顶点集
        int[] nodes = ...{ 0, 1, 3, 2, 4, 5,6 };

        // 初始化有向权重图
        map = new ArrayList<Side>();
        map.add(new Side(0, 1, 10));
        map.add(new Side(0, 3, 30));
        map.add(new Side(0, 4, 100));
        map.add(new Side(1, 2, 50));
        map.add(new Side(2, 4, 10));
        map.add(new Side(3, 2, 20));
        map.add(new Side(3, 4, 60));
        map.add(new Side(4, 5, 50));
        map.add(new Side(3, 5, 60));
        map.add(new Side(5, 6, 10));
        map.add(new Side(3, 6, 80));

        // 初始化已知最短路径的顶点集,即红点集,只加入顶点0
        redAgg = new ArrayList<Integer>();
        redAgg.add(nodes[0]);

        // 初始化未知最短路径的顶点集,即蓝点集
        blueAgg = new ArrayList<Integer>();
        for (int i = 1; i < nodes.length; i++)

[1] [2] 下一页 




上一篇:原始模型模式

下一篇:在Java中使用VC++组件

单源点最短路径Dijkstra算法的JAVA实现 相关文章:
·如何实现局域网打印机共享
·Java图形用户界面设计
·TCP/IP编程实现远程文件传输
·Windows无法访问指定设备,路径或文件.您可能没有合适的权限访问这个项目
·Visual C++ 实现数字化图像的分割
·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
·ASP.NET购物车的实现及结算处理
·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
·javascript+xml实现二级下拉菜单,不会被任何标签或元素遮住
·用C语言实现Ping程序功能
单源点最短路径Dijkstra算法的JAVA实现 相关软件:
·算法导论 pdf 中文版
·爆出网站数据库路径
·Thinking In Java 英文版
·TCP-IP详解卷2:实现
· JavaScript 语言参考 中文版(CHM)
·Javascript高级教程
·张效祥javascript视频教程 lesson67附教程
·Java 2 入门与实例教程(PDG)
·源点下载系统 v2003.3.1 时代版
·Java 教程及实例

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn