zoukankan
html css js c++ java
多源最短路径 Floyd
/* Floyd.h 时间复杂库:O(N^3) 用途: 1.判断中否联通 s[a][b] != inf -> 联通 s[a][b] == inf -> 不联通 2.两点间最短路径长度 s[a][b] != inf -> 最短路径长度 = s[a][b] s[a][b] == inf -> 不联通 3.两点间的最短路径的跳数 初始化时所有路径长度设为单位长度 s[a][b] != inf -> 跳数 = s[a][b] s[a][b] == inf -> 不联通 */ #include <iostream> using namespace std; #define MAX 100 #define inf 0x3FFFFFFF class Floyd { public: int n; //记录两点间最短路径的长度 int s[MAX][MAX]; //记录最短路径 int path[MAX][MAX]; public: Floyd(int size = MAX); void clear(); void ShortestPath(); }; Floyd::Floyd(int size):n(size) { int i, j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { if(i = j) s[i][j] = 0; else s[i][j] = inf; path[i][j] = j; } } } Floyd::clear() { int i, j; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { if(i = j) s[i][j] = 0; else s[i][j] = inf; path[i][j] = j; } } } void Floyd::ShortestPath() { int i,j,k; for(k = 0; k < MAX; k++) { for(i = 0; i < MAX; i++) { for(j = 0; j < MAX; j++) { if(s[i][j] > s[i][k] + s[k][j])) { s[i][j] = s[i][k] + s[k][j]; /*最短路径值*/ path[i][j] = k; /*最短路径*/ } } } } }
查看全文
相关阅读:
基于Docker搭建分布式消息队列Kafka
[转]JAVA 开发环境设置(简单易懂)
微信分享地址参数记录(出于防止微信刷票而产生的学习记录)
万网开启二级站点【原创】
PHP
[转]什么是RSS
html页面缓存(浏览器)
[从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)【转】
Jquery中$.get(),$.post(),$.ajax(),$.getJSON(),$.getScript(),$.load()的用法总结【转】
JQuery中$.load()方法的用法和分析【转】
原文地址:https://www.cnblogs.com/windmissing/p/2559881.html
最新文章
备份短信案例
Java Web学习总结(7)——HttpServletRequest对象
Java Web学习总结(6)——通过Servlet生成验证码图片
Java Web学习总结(6)——通过Servlet生成验证码图片
Java Web学习总结(5)——HttpServletResponse对象详解
Java Web学习总结(5)——HttpServletResponse对象详解
Java Web学习总结(4)——HttpServletResponse对象入门
Java Web学习总结(4)——HttpServletResponse对象入门
Java Web学习总结(3)——Servlet详解
Java Web学习总结(3)——Servlet详解
热门文章
Java Web学习总结(2)——Servlet入门
华为云IoT专家直播——构筑智慧路灯实战分享
华为EMUI10带来开发者福音:一次开发多端部署
Python刷题之路,怎样做才能让技术突飞猛进
鲲鹏云实验-Python+Jupyter机器学习基础环境
#化鲲为鹏,我有话说# 鲲鹏云服务器的使用小技巧之SSH(一)
云图说|小云妹-DDS实例安全基本操作
【云速建站】SSL证书自助部署
如何用鲲鹏弹性云服务器部署《Hadoop伪分布式》
机器学习笔记(十一)----降维
Copyright © 2011-2022 走看看