当前位置:   article > 正文

无权图的最短路径Java实现_非加权图中的最短路径 java

非加权图中的最短路径 java

利用广度优先的搜索方法写了一个最短路径的例子,自我感觉还可以优化,因为最后显示的结果不是很人性化

节点类Vertex、边类Edge、图类Graph前几篇已经写了,这里作相应的修改,在节点Vertex类中添加路径长度pathLength变量和上一个节点的名称path变量,初始pathLength为0,path为null.


利用这种方法可以计算出从某节点为起点的到达所有节点的最短路径,其中pathLength表示了路径长度,而path则可以一层层找到该路径。

下面贴上代码和结果:

  1. /*
  2. * 无权最短路径算法,利用广度优先搜索方法
  3. */
  4. package com.Algorithm.ShortestPath;
  5. import java.util.ArrayList;
  6. import java.util.LinkedList;
  7. import java.util.Scanner;
  8. public class ShortestPathTest {
  9. Graph g ;
  10. //构造函数
  11. public ShortestPathTest()
  12. {
  13. g = new Graph();
  14. g.buildGraph();
  15. }
  16. /**
  17. * @param args
  18. */
  19. public static void main(String[] args) {
  20. // TODO Auto-generated method stub
  21. ShortestPathTest s = new ShortestPathTest();
  22. System.out.println("输入路径的起点:");
  23. Scanner input = new Scanner(System.in);
  24. String first = input.next();
  25. input.next();
  26. s.shortest
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/152028
推荐阅读
相关标签
  

闽ICP备14008679号