Yen的k最短路径算法实现Java

Yen算法的算法原理可以参考:Yen算法

下面主要写一下Yen算法的完整代码

操作系统:Win 10

开发IDE:IntelliJ IDEA 2019

编程语言:Java

测试数据:

一、文件组成

二、图的定义

边结点定义

package GraphEntity;public class EdegeNode{   //边表结点类public int adjvex;//边指向的点public int value;//边权值public EdegeNode nextEdge;public EdegeNode() {}public EdegeNode(int adjvex,int value)   //初始化边结点{this.adjvex=adjvex;this.value=value;this.nextEdge=null;}
}

顶点结点定义

package GraphEntity;public class Point{   //这个类用于邻接表,因为每一个顶点在邻接表中都存在一个指向其它顶点的指针域所以要将指针域和数据域封装成一个具体的类public int data;//该点idpublic EdegeNode firstArc;//该点第一条边public Point() {}public Point(int data){this.data=data;this.firstArc=null;}}

图整体定义

package GraphEntity;//图邻接表的表示法
public class MyGraph{public Point[] point;public int[] visted;public int numPoint;public int numEdeges;public MyGraph() {}public MyGraph(int numPoint,int numEdeges){this.numPoint=numPoint;this.numEdeges=numEdeges;point=new Point[numPoint];  //初始化点集数组visted=new int[numPoint];}public void createMyGraph(MyGraph MyGraph,int numPoint,int numEdeges,int EdegesPoint[][])  //创建图{for(int i=0;i


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部