• 2019北航软工暑期班作业-预培训个人项目(地铁线路规划)


    一、相关文章推荐

    推荐文章(有图解,有简易代码说明),比较容易理解Dijkstra(迪杰斯特拉)算法。

    https://www.jianshu.com/p/ff6db00ad866

    二、PSP表

    三、项目说明

    1、为以免cmd中运行出错,在TestMain下的test中写有测试案例。

      

     

    2、实体类

     

    Station为站点类,Result为结果类

    站点类Station包含变量:站点名、所属地铁线、相邻站点集合。

    结果类Result包含变量:起始站、终止站、距离(站台数)、中间经过站点。

    3、Demo包下的test 用于理解Dijstra算法思想

     

     

    4、DistanceBuilder包括各种读取方法

     

     

    包括存储地铁信息的变量,以及读取地铁信息、写入地铁信息的方法,以及其他读取信息的辅助方法(通过站点名得到相应地铁线号、 通过站点Station对象得到相应地铁线号)

    5、 DijstraUtil

    该类是Dijstra算法的实现类(可结果Demo包下的test类)

     

    四、运行说明

    说明: cmd中运行之前,将out/production/Dijkstra中的station.txt和routine.txt的内容清空(清空原因是因为信息之追加的形式写入,如果不清空,会有多次运行的结果,以免混淆)(一定不要将subway.txt内容清空,是地铁信息)

     

     

    注意:在cmd中运行subway(包含main函数的类),通过命令:

     “java subway”即可。 由于subway要识别不同命令参数,则必须按照严格格式。

     

    (1) 读取subway.txt文件:

    命令:

    “java subway -map subway.txt”

    (2)  读取某条路线的地铁站点信息:

    命令:

     “java subway -a 1号线 -map subway.txt -o station.txt”

    说明:

      读取的信息写入station.txt文件中。

     

    Station.txt内容:

     

    (3) 读取两站点之间的信息:

    命令:

    java subway -b 洪湖里 复兴路 -map subway.txt -o routine.txt

       说明:

         两站点之间的信息写入routine.txt中,和station.txt同级。注意目录为out/production/Dijstra下。

       说明routine.txt内容

      

    五、GitHub:

             https://github.com/liaoxuehua/2019SubWay

       

  • 相关阅读:
    今日SGU 5.2
    奇异值分解(SVD)小结
    计蒜客16495 Truefriend(fwt)
    计蒜客16492 building(二分线段树/分块)
    hihocoder 1323 回文字符串(字符串+dp)
    hihocoder 1320 压缩字符串(字符串+dp)
    hdu6121 build a tree(树)
    hdu6103 Kirinriki(trick+字符串)
    hdu6097 Mindis(几何)
    hdu 6057 Kanade's convolution(子集卷积)
  • 原文地址:https://www.cnblogs.com/Liaoxueh/p/11222880.html
Copyright © 2020-2023  润新知