无向图所有路径算法实现 java

时间:2015-05-17 05:01:03
【文件属性】:

文件名称:无向图所有路径算法实现 java

文件大小:14KB

文件格式:ZIP

更新时间:2015-05-17 05:01:03

无向图 所有路径 算法 java

此题目是北京大学java高级技术的一道算法题目,输入请按照要求,程序中没有对输入进行边界测试,只关注算法本身。大家可以自行优化。请勿抄袭作业,旨在交流学习。 题目描述:已知一个无向图G=(V,E),G中任意两个顶点u、v之间存在路径或者不存在路径,如果存在,则会有一个或者多个最短路径。给出两个顶点u0和v0,请用一种效率尽可能高的算法求u0和v0之间的所有的最短路径。输入:第1行:图的顶点数1<=N<10和边数1<=M<=N*(N-1)/2,第2...M+1行:图中的边(u,v,w),其中u为边起点,v为边终点,w为边的权值(u、v、w均为整数,1<=u<=N,1<=v<=N,1<=w<=100),第M+2行:u0和v0。输出:如果u0和v0之间没有路径,输出0;其它情况:第1行为最短路径的条数S和最短路径的长度D,第2...S+1行中的每一行为最短路径的顶点序列T_i(1<=i<=S),其中,T_1、T_2、...、T_S的顺序要满足T_i的反向序列的字典序小于T_i+1的反向序列的字典序的条件。例如,样例中T_1=<2,4>的反向序列为<4,2>,T_2=<2,3,4>的反向序列为<4,3,2>,则有<4,2>的字典序小于<4,3,2>的字典序。输入示例: 5 8 2 1 2 1 5 2 2 3 5 2 4 6 2 5 5 3 4 1 3 5 1 4 5 2 2 4 输出示例: 4 6 2 4 2 3 4 2 1 5 3 4 2 1 5 4


【文件预览】:
Project
----.project(388B)
----src()
--------Util()
--------Main()
----.settings()
--------org.eclipse.jdt.core.prefs(629B)
----.classpath(301B)
----bin()
--------Util()
--------Main()

网友评论

  • 还不错 可以用
  • 可以运行,非常感谢
  • 跟我的需求还有一些差距,不够还是可以参考一下。
  • 程序注释希望清楚一些
  • 对于初学者而言 是非常不错的学习例程,可以运行,非常感谢
  • 这个不是所有路径,应该说是所有最短路径,
  • 可以基本实现功能。还可以。
  • 大概功能是实现了,可是和我想要的有差别,学习了,谢谢分享
  • 能求出所有路径就最好了
  • 这个不是所有路径,应该说是所有最短路径,比如最短路径是4,他会列出所有权值4的路径
  • 还不错,如果在程序中注释清楚点就好了。
  • 程序可以实现基本的功能,但是缺少对边界问题的处理