当前位置: 首页 > news >正文

弗洛伊德算法(C++)

目录

介绍: 

代码: 

结果: 

介绍: 

弗洛伊德算法(Floyd algorithm)也称为Floyd-Warshall算法,是一种用于求解所有节点对之间的最短路径的动态规划算法。它使用了一个二维数组来存储所有节点之间的最短距离,该数组的初始值为节点之间的直接距离或无穷大。然后,算法对数组进行多次迭代,每次迭代都尝试通过一个中间节点更新节点之间的距离值,直到所有节点之间的最短距离被计算出来。该算法的时间复杂度为O(n^3),适用于有向图或无向图,但不能处理带有负权边的图。

代码: 

#include<iostream>//弗洛伊德算法
using namespace std;
int G[100][100],D[100][100],Path[100][100];
int n, t, maxlen=999;
void Floyd()
{for (int i = 0; i < n; i++)//初始化最短路径和前驱for(int j=0; j<n; j++){D[i][j] = G[i][j];if (D[i][j] < maxlen && i != j)//i和j之间有弧,前驱设为iPath[i][j] = i;else//i和j之间无弧,前驱设为-1Path[i][j] = -1;}for(int k=0;k<n;k++)for(int i=0;i<n;i++)for (int j = 0; j < n; j++){if (D[i][k] + D[k][j] < D[i][j])//i到j经过k点有更短路径{D[i][j] = D[i][k] + D[k][j];//更新D[i][j]Path[i][j] = Path[k][j];//更改前驱}}for (int i = 1; i < n; i++)//访问从0点到各点的最短距离{cout << "0点到" << i << "的最短路径权值为:" << D[0][i] << " ";cout << "路径为:";int a = Path[0][i];cout << i<< " ";while (a != 0){cout << a << " ";a = Path[0][a];}cout << endl;}
}
int main()
{cout << "输入顶点数:" << endl;cin >> n;for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)G[i][j] = maxlen;cout << "输入边数:" << endl;cin >> t;for (int i = 0; i < t; i++){int v1, v2, w;cin >> v1 >> v2 >> w;G[v1][v2] = w;}Floyd();
}

结果: 

相关文章:

弗洛伊德算法(C++)

目录 介绍&#xff1a; 代码&#xff1a; 结果&#xff1a; 介绍&#xff1a; 弗洛伊德算法&#xff08;Floyd algorithm&#xff09;也称为Floyd-Warshall算法&#xff0c;是一种用于求解所有节点对之间的最短路径的动态规划算法。它使用了一个二维数组来存储所有节点…...

相对定位、绝对定位、固定定位、绝对定位堆叠顺序

相对定位&#xff1a;相对自己本身进行偏移 CSS语法&#xff1a; position: relative;/*相对自己进行定位*/ top: 10px;/*距离上边*/ left: 10px;/*距离左边*/ 演示图&#xff1a; 绝对定位&#xff1a;默认以浏览器进行定位。如果想依照父盒子定位&#xff0c;需要在父盒子…...

px4+vio实现无人机室内定位

文章主要讲述px4 如何利用vins_fusion里程计数据实现在室内定位功能。 文章基于以下软、硬件展开。 硬件软件机载电脑&#xff1a; Intel NUC系统&#xff1a;Ubuntu 20.04相机&#xff1a; Intel Realsense D435iros&#xff1a;noetic飞控&#xff1a;Pixhawk 2.4.8固件&am…...

享元模式 rust和java的实现

文章目录 享元模式介绍实现javarust实现代码 rust仓库rust仓库 享元模式 享元模式&#xff08;Flyweight Pattern&#xff09;主要用于减少创建对象的数量&#xff0c;以减少内存占用和提高性能。这种类型的设计模式属于结构型模式&#xff0c;它提供了减少对象数量从而改善应…...

XmlElement注解在Java的数组属性上,以产生多个相同的XML元素

例如&#xff0c;下面这段XML数据&#xff0c;有多个data元素&#xff0c;并且它们级别相同: <?xml version"1.0" encoding"UTF-8"?><request><reqtype>05</reqtype><secret>test</secret><body><userid&…...

SQLServer 数字加千分位 用FORMAT函数强转不管多大位数

问题 CONVERT ( money, CONVERT ( money, CAST ( round( FTP_AMOUNT, 2 ) AS NUMERIC ( 20, 2 ) ) ) 1 ) AS FTP_AMOUNT用的money函数 结果空间不足&#xff0c;无法将 money 值转换为 varchar。 可以强转 select FORMAT(CAST ( round( ‘-8926143870680.62000000’, 2 ) AS N…...

说说mvc和mvvm的区别和联系

mvvm 与mvc mvvm 与mvcmvc和mvvm的区别和联系 举例说明mvvm与mvc MVC是一种用于构建应用程序的架构模式&#xff0c;它也将应用程序的逻辑和界面分离。它由三个主要组件组成&#xff1a; 模型&#xff08;Model&#xff09;&#xff1a;表示应用程序的数据和业务逻辑。视图&a…...

linux rsyslog综合实战2

本次我们通过rsyslog服务将A节点服务器上的两个(E.g:多个日志也可以)日志(Path:/var/log/245-1.log、245-2.log)实时同步到B节点服务器目录下(Path:/opt/rsyslog/245) 1.rsyslog架构 2.环境信息 环境信息 HostnameIpAddressOS versionModuleNotersyslog1192.168.10.245CentOS…...

AcWing 4. 多重背包问题 I 学习笔记

有 N&#xfffd; 种物品和一个容量是 V&#xfffd; 的背包。 第 i&#xfffd; 种物品最多有 si&#xfffd;&#xfffd; 件&#xff0c;每件体积是 vi&#xfffd;&#xfffd;&#xff0c;价值是 wi&#xfffd;&#xfffd;。 求解将哪些物品装入背包&#xff0c;可使物…...

解决selenium使用chrome下载文件(如pdf)时,反而打开浏览器的预览界面

文章目录 解决方法完整的配置 解决方法 在初始化浏览器的时候&#xff0c;添加以下配置即可&#xff1a; option webdriver.ChromeOptions()prefs {"profile.managed_default_content_settings.images": 2, # 禁止加载图片# permissions.default.stylesheet: 2, …...

2024年山东省职业院校技能大赛中职组“网络安全”赛项竞赛试题-C

2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C 一、竞赛时间 总计&#xff1a;360分钟 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A、B模块 A-1 登录安全加固 180分钟 200分 A-2 本地安全策略设置 A-3 流量完整性保护 A-4 …...

基于Python实现用于实时监控和分析 MySQL 服务器的性能指标和相关信息工具源码

MySQL命令行监控工具 - mysqlstat 介绍 mysqlstat 是一个命令行工具&#xff0c;用于实时监控和分析 MySQL 服务器的性能指标和相关信息。 它可以帮助 DBA&#xff08;数据库管理员&#xff09;和开发人员定位和解决数据库性能问题。 以下是 mysqlstat 工具的主要功能&#…...

Android 10-13鼠标右键返回功能适配

Android 10-13鼠标右键返回功能适配 文章目录 Android 10-13鼠标右键返回功能适配一、前言二、鼠标右键适配修改1、Android 10 以及更低版本2、Android11 或者更高版本三、总结1、鼠标右键返回功能修改主要代码2、标右键返回修改代码系统源码搜索3、其他 一、前言 Android 原生…...

51单片机/STM32F103/STM32F407学习1_点亮LED灯

目录&#xff1a; 基础知识单片机从0实现单片机GPIO介绍 参考连接&#xff1a; 野火霸天虎教程 https://doc.embedfire.com/products/link/zh/latest/mcu/stm32/ebf_stm32f407_batianhu_v1_v2/download/stm32f407_batianhu_v1_v2.html x.1 基础知识 x.1.1 指针中的取地址&a…...

(Transfer Learning)迁移学习在IMDB上训练情感分析模型

1. 背景 有些场景下&#xff0c;开始的时候数据量很小&#xff0c;如果我们用一个几千条数据训练一个全新的深度机器学习的文本分类模型&#xff0c;效果不会很好。这个时候你有两种选择&#xff0c;1.用传统的机器学习训练&#xff0c;2.利用迁移学习在一个预训练的模型上训练…...

蓝桥杯每日一题2023.11.20

题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 方法一&#xff1a;暴力枚举&#xff0c;如果说数字不在正确的位置上也就意味着这个数必须要改变&#xff0c;进行改变记录即可 #include<bits/stdc.h> using namespace std; const int N 2e5 10; int n, a[N], …...

【迅搜02】究竟什么是搜索引擎?正式介绍XunSearch

究竟什么是搜索引擎&#xff1f;正式介绍XunSearch 啥&#xff1f;还要单独讲一下啥是搜索引擎&#xff1f;不就是百度、Google嘛&#xff0c;这玩意天天用&#xff0c;还轮的到你来说&#xff1f; 额&#xff0c;好吧&#xff0c;虽然大家天天都在用&#xff0c;但是我发现&am…...

【Sql】sql server还原数据库的时候,提示:因为数据库正在使用,所以无法获得对数据库的独占访问权。

【问题描述】 sql server 还数据库的时候&#xff0c;提示失败。 点击左下角进度位置&#xff0c;可以得到详细信息&#xff1a; 因为数据库正在使用&#xff0c;所以无法获得对数据库的独占访问权。 【解决方法】 针对数据库先后执行下述语句&#xff0c;获得独占访问权后&a…...

【Go语言实战】(26) 分布式搜索引擎

Tangseng 基于Go语言的搜索引擎 github地址&#xff1a;https://github.com/CocaineCong/tangseng 详细介绍地址&#xff1a;https://cocainecong.github.io/tangseng 这两周我也抽空录成视频发到B站的&#xff5e; 本来应该10月份就要发了&#xff0c;结果一鸽就鸽到现在hh…...

【理解ARM架构】不同方式点灯 | ARM架构简介 | 常见汇编指令 | C与汇编

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《理解ARM架构》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 &#x1f3c0;直接操作寄存器点亮LED灯&#x1f3c0;地址空间&#x1f3c0;ARM内部的寄存…...

桌面运维面试常见问题及标准答案(完整版)

一、基础认知类1. 你理解的桌面运维是做什么的&#xff1f;答&#xff1a;个人认为是负责公司员工电脑、笔记本、打印机、显示器、外设、办公软件、域账号、网络桌面端的日常维护&#xff1b;处理系统故障、软件安装、病毒查杀、权限开通、资产盘点、工位布线、会议设备调试&am…...

Awesome-ChatGPT资源清单:AI工具导航与高效使用指南

1. 项目概述与价值定位如果你和我一样&#xff0c;在过去一年多里&#xff0c;被各种AI工具、ChatGPT的变体、开源项目以及付费服务搞得眼花缭乱&#xff0c;那么这个名为“awesome-chatgpt”的GitHub仓库&#xff0c;绝对是你需要立刻收藏的宝藏。它不是什么复杂的软件&#x…...

告别盲调!用C#和nRF24L01为你的赛车打造一套无线数据监控系统(附上位机源码)

基于C#与nRF24L01的赛车无线监控系统开发实战 在智能车与机器人开发领域&#xff0c;实时数据监控一直是调试过程中的关键痛点。传统有线数据采集方式存在布线复杂、移动受限等问题&#xff0c;而商用无线方案往往成本高昂且灵活性不足。本文将深入讲解如何利用成本不到50元的n…...

极速配置!OpenClaw 2.6.6 中文版完整流程记录

官方下载地址&#xff1a;https://xiake.yun/api/download/package/12?promoCodeIV8E496E2F7A OpenClaw 是一款可以在本地运行的 AI 智能体工具&#xff0c;能够通过自然语言指令帮你完成电脑自动化操作&#xff0c;实现文件整理、数据处理、办公自动化等一系列实用功能。本文…...

别再为YDLIDAR X3的ROS驱动发愁了!保姆级从SDK编译到Rviz可视化的完整避坑指南

YDLIDAR X3激光雷达ROS驱动全流程实战&#xff1a;从零配置到Rviz可视化避坑手册 第一次把YDLIDAR X3激光雷达接入ROS时&#xff0c;我盯着终端里密密麻麻的报错信息足足发呆了半小时——明明是按照官方文档一步步操作&#xff0c;却在编译阶段就卡壳。这种经历想必很多机器人…...

如何快速上手Asio:10个简单示例带你掌握C++网络编程

如何快速上手Asio&#xff1a;10个简单示例带你掌握C网络编程 【免费下载链接】asio Asio C Library 项目地址: https://gitcode.com/gh_mirrors/as/asio Asio是一个功能强大的C库&#xff0c;专为网络和底层I/O编程设计&#xff0c;提供了异步操作模型&#xff0c;帮助…...

别再死记硬背AXI-Lite信号了!用握手协议的逻辑,5分钟理清5大通道

从握手协议视角重构AXI-Lite&#xff1a;用5个逻辑单元破解FPGA总线迷宫 第一次翻开AXI-Lite协议文档的工程师&#xff0c;往往会被密密麻麻的信号列表吓退——AWADDR、WDATA、BRESP、ARREADY...这些看似无序的字母组合&#xff0c;其实隐藏着精妙的系统级设计哲学。与其逐条背…...

从Silvaco TCAD仿真到实战:手把手教你优化SiGe HBT的Ge组分(附完整代码)

SiGe HBT性能优化实战&#xff1a;从TCAD仿真到参数调优全解析 在半导体器件设计领域&#xff0c;SiGe异质结双极晶体管(HBT)因其卓越的高频性能和低噪声特性&#xff0c;已成为射频前端电路的核心元件。然而&#xff0c;许多工程师在从理论转向实践的过程中&#xff0c;常常面…...

权限管理自动化实践:从RBAC/ABAC模型到Claw Farm工具集

1. 项目概述&#xff1a;从“Claw Farm”看权限管理的自动化实践 最近在开源社区里看到一个挺有意思的项目&#xff0c;叫“claw-farm”。光看名字&#xff0c;你可能会联想到“爪子农场”或者某种游戏模组&#xff0c;但它的实际定位是一个专注于权限&#xff08;Permission&a…...

解锁Windows 10的Android生态:WSA-Windows-10移植项目完全指南

解锁Windows 10的Android生态&#xff1a;WSA-Windows-10移植项目完全指南 【免费下载链接】WSA-Windows-10 This is a backport of Windows Subsystem for Android to Windows 10. 项目地址: https://gitcode.com/gh_mirrors/ws/WSA-Windows-10 想在Windows 10上无缝运…...