文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
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中的SOAP技术
·用Java实现SMTP服务器
·用Java编写的记事本程序(2)
·Liferay中整合tinyMCE详解
·Java语言出现的背景 影响及前景
·JDK的命令详解
·Java语言实现支持视频点播的WEB服务器
·Tomcat性能调整
·运用Jakarta Struts的七大实战心法(1)
·用Java编写的记事本程序(1)
·java Socket 通讯的代码例子
·Java学习从入门到精通(附FAQ)
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·Jive源代码研究
·深入研究Servlet线程安全性问题
·用Java编写的记事本程序(3)
·详细解析Java中抽象类和接口的区别
·3D编程指南第一部分:快速进入移动JAVA 3D编程世界
·图解JBuilderX安装与实践

单源点最短路径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++)
            blueAgg.add(nodes[i]);

        // 初始化每个顶点在最短路径中的父结点,及它们之间的权重,权重-1表示无连通
        parents = new Side[nodes.length];

[1] [2] 下一页 




上一篇:原始模型模式

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

单源点最短路径Dijkstra算法的JAVA实现 相关文章:
·香港三级片名单大全 (包括演员名单)
·电脑基本英语单词
·Photoshop十余种漂亮照片边框简单制作技巧
·编写简单的中文分词程序
·软件限制策略的简单应用
·用Photoshop“磨皮”和简单的人物处理技巧
·纯CSS的下拉菜单 支持IE6 IE7 Firefox
·流星蝴蝶剑 单机版无敌修改法
·Windows 98/XP双系统启动菜单修复
·自己动手构建简单的局域网对战平台
单源点最短路径Dijkstra算法的JAVA实现 相关软件:
·新东方背单词 4
·梦幻西游 单机版 梦幻群侠传
·魔力宝贝单机版
·三国群英传5 宇峻科技 单机游戏
·新版标准日本语初级 单词读音MP3
·劲乐团单机版 绿色版游戏
·古墓丽影 6 单碟硬盘版
·新东方背单词II
·我也爱背单词白金语音版 4.32
·管理就这么简单

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