任意两点之间最短路径
2007-12-07 08:52
477 查看
package shortestpath;
public class ShortestPath ...{
static int node;//节点总数
static int[][] array;
//初始化图
static int[][] init(int node)...{
array = new int[node][node];
for(int i = 0; i< node;i++)
...{ for(int j = i;j <node; j++)...{
array[i][j] = (int) (Math.random() * node + 1);//防止相异的两点距离为0的情况出现
array[j][i] = array[i][j];
}
array[i][i] = 0;
}
return array;
}
//注意:k 的循环要在最外层
static int[][] shortestpath()...{
for(int k =0;k < node; k++)...{
for(int i = 0; i< node; i++)...{
for(int j =0;j < node ;j++)...{
if(array[i][j] > array[i][k] + array[k][j])
array[i][j] = array[i][k] + array[k][j];
}
}
}
return array;
}
//测试程序
public static void main(String[] args)...{
node = 5;
init(node);
for(int i = 0;i < node;i++)...{
for(int j=0;j <node;j++)...{
System.out.print(array[i][j] + " ");
}
System.out.println(" ");
}
shortestpath();
System.out.println("");
System.out.println("");
for(int i = 0;i < node;i++)...{
for(int j=0;j <node;j++)...{
System.out.print(array[i][j] + " ");
}
System.out.println("");
}
}
}
相关文章推荐
- 求任意大小矩阵两点之间的最短路径(回溯)
- 任意两点之间的最短路径问题(Floyd-Warshall算法)
- Matalab代码 实现 Dijkstra求 有向图及无向图之间,任意两点之间的最短路径
- pgrouting路径分析(任意两点之间的最短路径)
- Dijkstra单源最短路径实现 及 Floyd任意两点之间的最短路径
- 两点之间的所有最短路径
- 基于pgrouting的任意两点间的最短路径查询函数二
- 运用Floyd算法求得带权有向图任意两点间的最短路径C/C++
- 二叉树任意两点间最短路径长度 C语言暴力版
- 基于pgrouting的任意两点间的最短路径查询函数
- Floyed算法求两点之间的最短路径
- 软件测试作业 图中任意两点的最短路径
- floyd算法(求任意两点间的最短路径)
- Floyd---任意两点最短路径
- 任意两点间的最短路径
- Codeforce 295B Greg and Graph 活用Floyd 任意两点的最短路径
- LCA算法求任意两个节点之间的最小公共祖先(最短路径)
- 使用广度遍历算法寻找两点之间的最短路径
- 弗洛伊德算法得到图中任意两个顶点之间的最短路径
- POJ 2139-- 最短路径 (floyd算法,任意两点间的最短路径)