任意两点间的最短路问题(Floyd-Warshall算法)
/* 任意两点间的最短路问题(Floyd-Warshall算法)*/import java.util.Scanner;public class Main {//图的顶点数,总边数static int V, E;//存储所有的边,大小为顶点数static int[][] Edges;static int[][] d;static final int MAX_VALUE = 999999;public static void main(String[] args) {creatGraph();shortPath();for (int i = 0; i < V; i++) {for (int j = 0; j < V; j++) {System.out.print(d[i][j] + " ");}System.out.println();}}static void shortPath() {d = new int[V][V];for (int i = 0; i < V; i++) {for (int j = 0; j < V; j++) {d[i][j] = Edges[i][j];}}for (int k = 0; k < V; k++)for (int i = 0; i < V; i++) {for (int j = 0; j < V; j++) {d[i][j] = Math.min(d[i][j], d[i][k] + d[k][j]);}}}static void creatGraph() {Scanner sc = new Scanner(System.in);V = sc.nextInt();E = sc.nextInt();Edges = new int[V][V];for (int i = 0; i < V; i++) {for (int j = 0; j < V; j++) {Edges[i][j] = MAX_VALUE;if (i == j) Edges[i][j] = 0;}}for (int i = 0; i < E; i++) {int u = sc.nextInt();int v = sc.nextInt();int w = sc.nextInt();Edges[u][v] = w;Edges[v][u] = w;}} }
转载于:https://www.cnblogs.com/Alpharun/p/8660200.html
任意两点间的最短路问题(Floyd-Warshall算法)相关推荐
- 【算法】Floyd-Warshall算法(任意两点间的最短路问题)(判断负圈)
问题 求解任意两点间最短路问题也叫多源最短路径问题. 可解决途径 一种方法时把图中每个点当做源点重复算n次Dijkstra 算法(Dijkstra是求单源最短路径的算法),时间复杂度O(n^3),据说 ...
- AOJ GRL_1_C: All Pairs Shortest Path (Floyd-Warshall算法求任意两点间的最短路径)(Bellman-Ford算法判断负圈)
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_1_C All Pairs Shortest Path Input ...
- 地铁线路图中任意两点间所有路径高效算法
在求图线任意两点间最短路径时,利用floyd.dijdstra等成熟的算法可以求得,效率还不错.但要求换乘最少.最舒适等路径时,需要求线网图中任意两个点的所有路径,然后根据条件筛选,以上算法无能为力. ...
- matlab求两点间距离,matlab如何求一个N*2的矩阵的任意两点间的距离?
matlab如何求一个N*2的矩阵的任意两点间的距离? mip版 关注:64 答案:3 悬赏:0 解决时间 2021-02-23 20:55 已解决 2021-02-23 16:37 假设有个矩 ...
- 图论 ---- F. The Shortest Statement (最短路的性质 + 任意两点间最短路 + 图转树)
题目链接 题目大意: 给你一个nnn个点mmm条边的无向图,就是动态询问任意两点间的最短路 n,m∈[1,1e5],m−n≤20n,m\in[1,1e5],m-n\leq20n,m∈[1,1e5],m ...
- C++floyd warshall算法求最短路径(附完整源码)
C++floyd warshall算法求最短路径 floyd warshall算法求最短路径的完整源码(定义,实现,main函数测试) floyd warshall算法求最短路径的完整源码(定义,实现 ...
- Floyd Warshall算法
Description: 描述: This is a very popular interview problem to find all pair shortest paths in any gra ...
- golang计算任意两点间的方位角
计算任意两点间的方位角 方位角是从某点的指北经线起,依顺时针方向到目标方向线之间的水平夹角(如图所示θ,可以将其看成是指南针所指示的角度),也即是OPN平面与OPQ平面的所构成的二面角大小. 以北极点 ...
- 计算球面上任意两点间的球面距离(C++实现)
文章目录 1 预备知识 2 原理描述 3 代码实现 1 预备知识 在求解此问题之前首先要明确一下几点: (1)两点间的球面距离: 球面上两点间的最短距离,即球心与球面上两点所确定的平面与球面相交,得到 ...
最新文章
- Java IO流之内存流
- 【CyberSecurityLearning 28】批处理与简单病毒
- python中list的意思_list在python中是什么意思
- (五)Struts2 标签
- matlab第六章课后答案,matlab作业第6章
- Python+sklearn机器学习应该了解的33个基本概念
- kali php服务器,在云服务器上搭建公网kali linux2.0
- 桌面虚拟云终端技术研究
- Two Sum(C、C++、Python)
- 编译原理中单线箭头->和双线箭头=>有什么区别
- 识人 用人 激人 留人 斩人
- 巴菲特给出了六条人生的建议
- 语音助手——多轮会话(理论概念篇)
- 高球嘉年华:2021高博会非去不可的六个理由
- tool execution canceled by user.
- C语言实战:C语言打印九九乘法表
- Java基础程序——Set集合排序(四种写法)
- FDTD Solution——sweep
- 用JS实现歌词与播放音乐同步
- mysql用help查看帮助_深入理解mysql帮助命令(help)
热门文章
- 循环——批量处理数据
- java调用第三方的webservice应用实例
- 互联网协议入门 : 用户 ------ 底层
- JavaScript设计模式之发布-订阅模式(观察者模式)-Part1
- lr录制脚本,用IETester代替IE浏览器
- Android studio导入另外一个项目作为Library后出现两个启动项目等各类问题
- android @id和@+id的区别
- ScrollView’s handy trick--android:fillViewport=quot;truequot;
- Sysnoise5.6安装教程
- Maven 私服搭建