单源最短路径问题的问题提出是,计算带权有向图G =(V, E)中一个点(源点)到其余各顶点的最短路径长度,如下图所示。设源点为顶点1,采用Dijkstra算法求下图中源V0为到其余各顶点的最短路径。
直接上代码吧:
public class Dijkstra {
public static void main(String[] args) {
// TODO Auto-generated method stub
int v=1; //假设源点为1
float max = Float.MAX_VALUE;
float [][]a= {
//邻接矩阵
{
0,0,0,0,0,0,0}, //防止溢出
{
0,0,3,4,max,max,max},
{
0,max,0,1,9,4,max},
{
0,max,max,0,5,13,max}