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

多源最短路径(Floyed)

#include <iostream>

#include <vector>

#include <stack>

using namespace std;

class Graph{

    private:

        int vertex;      //顶点数

        //int** matrix;    //有向图关系矩阵

        int** path;    //存储关系矩阵

        int** pre;         //存储中间节点k

    public:

        const int maxium = 10000;                //最大值,表示不存在的边

        Graph(const int edges, const int nodes, int arr[][3]){

            vertex = nodes;  

            //matrix = new int* [vertex];          //生成有向图关系矩阵

            pre = new int* [vertex];

            path = new int* [vertex];             //生成有向图关系矩阵

            for (int i=0; i<vertex; ++i){

                pre[i] = new int[vertex];

                path[i] = new int[vertex];

                //matrix[i] = new int[vertex];

                for (int j=0; j<vertex; j++){

                    //matrix[i][j] = maxium;

                    path[i][j] = maxium;

                    pre[i][j] = -1;

                }

            }

            for (int i=0; i<edges; ++i){                    //生成有向图关系,maxium为不连接

                //matrix[arr[i][0]][arr[i][1]] = arr[i][2];

                path[arr[i][0]][arr[i][1]] = arr[i][2];

            }

        }

        ~Graph(){

            delete[] path;

            //delete[] matrix;

            delete[] pre;

        }

        void floyd(int s, int end){

            for (int k=0; k<vertex; ++k){ //中间点更新

                for (int i=0; i<vertex; ++i){ //起点

                    for (int j=0; j<vertex; ++j){ //终点

                        if (path[i][k] + path[k][j] < path[i][j]){

                            path[i][j] = path[i][k] + path[k][j];

                            pre[i][j] = k;

                        }

                    }

                }

            }    

            show(s, end);

        }

        void show(int start, int end){  //显示路径,单源,多源直接for循环调用这个函数

            int k = pre[start][end];

            if (k != -1){

                show(start, k);

                cout << k << " ";

                show(k, end);

            }

        }

};

int main(){

    int arr[][3] = {{0,1,8},{0,3,16,},{0,4,7},{1,3,9},{1,5,5},{2,9,2},

                   {3,2,1},{3,6,10},{3,8,12},{4,7,5},{4,3,9},{4,8,7},{5,3,2},

                   {5,2,11},{6,2,13},{6,9,2},{7,6,8},{8,7,1},{8,6,6}};//创建一个有向权值图,每一列分别对应起点,终点,权值

    Graph t(19, 10, arr);

    t.floyd(0, 9);

    return 0;

}

相关文章:

多源最短路径(Floyed)

#include <iostream> #include <vector> #include <stack> using namespace std; class Graph{ private: int vertex; //顶点数 //int** matrix; //有向图关系矩阵 int** path; //存储关系矩阵 int** pre; //存储中间节点k public: con…...

基于去中心化与AI智能服务的web3钱包的应用开发的背景描述

Web3代表了下一代互联网模式&#xff0c;其核心特征包括去中心化、数据主权、智能合约和区块链技术的广泛应用。根据大数据调查显示&#xff0c;用户希望拥有自己的数据控制权&#xff0c;并希望在去中心化网络中享受类似Web2的便捷体验。DeFi(去中心化金融) 生态日趋成熟的背景…...

LabVIEW车牌自动识别系统

在智能交通快速发展的时代&#xff0c;车牌自动识别系统成为提升交通管理效率的关键技术。本案例详细介绍了基于 LabVIEW 平台&#xff0c;搭配大恒品牌相机构建的车牌自动识别系统&#xff0c;该系统在多个场景中发挥着重要作用&#xff0c;为交通管理提供了高效、精准的解决方…...

C# Newtonsoft.Json 使用指南

Newtonsoft.Json (也称为 Json.NET) 是一种适用于 .NET 的常用高性能 JSON 框架&#xff0c;用于处理 JSON 数据。它提供了高性能的 JSON 序列化和反序列化功能。 安装 通过 NuGet 安装 基本用法 1. 序列化对象为 JSON 字符串 using Newtonsoft.Json;var product new Prod…...

Python_day22

DAY 22 复习日 复习日 仔细回顾一下之前21天的内容&#xff0c;没跟上进度的同学补一下进度。 作业&#xff1a; 自行学习参考如何使用kaggle平台&#xff0c;写下使用注意点&#xff0c;并对下述比赛提交代码 kaggle泰坦里克号人员生还预测 一、Kaggle 基础使用步骤 注册与登录…...

浏览器的B/S架构和C/S架构

浏览器的B/S架构和C/S架构 概述拓展 欢迎来到 Shane 的博客~ 心有猛虎&#xff0c;细嗅蔷薇。 概述 C/S架构&#xff1f; Client/Server架构。但是缺少通用性、系统维护、升级需要重新设计和开发&#xff0c;并且需要开发不同的操作系统&#xff0c;增加了维护和管理的难度。&…...

【C++】内存管理 —— new 和 delete

文章目录 一、C/C 内存分布二、C 语言中动态内存管理方式1. malloc / calloc / realloc / free 三、C 内存管理方式1. new / delete2. operator new 与 operator delete 函数3. new 和 delete 的实现原理(1) new 的原理(2) delete 的原理(3) new T[N] 的原理(4) delete[] 的原理…...

springboot3整合SpringSecurity实现登录校验与权限认证

一&#xff1a;概述 1.1 基本概念 &#xff08;1&#xff09;认证 系统判断身份是否合法 &#xff08;2&#xff09;会话 为了避免每次操作都进行认证可将用户信息保存在会话中 session认证 服务端有个session&#xff0c;把 session id给前端&#xff0c;每次请求cookie都带着…...

【东枫科技】使用LabVIEW进行深度学习开发

文章目录 DeepLTK LabVIEW深度学习工具包LabVIEW中的深度神经网络**功能与特性****功能亮点&#xff1a;** **支持的网络层****支持的网络架构****参考示例** 授权售价 DeepLTK LabVIEW深度学习工具包 LabVIEW中的深度神经网络 功能亮点&#xff1a; 在 LabVIEW 中创建、配置…...

《智能网联汽车 自动驾驶系统通用技术要求》 GB/T 44721-2024——解读

目录 一、核心框架与适用范围 二、关键技术要求 1. 总体要求 2. 动态驾驶任务执行 3. 动态驾驶任务后援 4. 人机交互&#xff08;HMI&#xff09; 5. 说明书要求 三、附录重点 附录A&#xff08;规范性&#xff09;——功能安全与预期功能安全 附录B&#xff08;资料性…...

同一个虚拟环境中conda和pip安装的文件存储位置解析

文章目录 存储位置的基本区别conda安装的包pip安装的包 看似相同实则不同的机制实际路径示例这种差异带来的问题如何检查包安装来源最佳实践建议 总结 存储位置的基本区别 conda安装的包 存储在Anaconda(或Miniconda)目录下的pkgs和envs子目录中&#xff1a; ~/anaconda3/en…...

《Hadoop 权威指南》笔记

Hadoop 基础 MapReduce Hadoop 操作 Hadoop 相关开源项目...

每日一题洛谷P8615 [蓝桥杯 2014 国 C] 拼接平方数c++

P8615 [蓝桥杯 2014 国 C] 拼接平方数 - 洛谷 (luogu.com.cn) #include<iostream> #include<string> #include<cmath> using namespace std; bool jud(int p) {int m sqrt(p);return m * m p; } void solve(int n) {string t to_string(n);//int转换为str…...

【C++】AVL树实现

目录 前言 一、AVL树的概念 二、AVL树的实现 1.基本框架 2.AVL树的插入 三、旋转 1.右单旋 2.左单旋 3.左右双旋 4.右左双旋 四、AVL树的查找 五、AVL树的平衡检测 六、AVL树的删除 总结 前言 本文主要讲解AVL树的插入&#xff0c;AVL树是在二叉搜索树的基础上&a…...

49.EFT测试与静电测试环境和干扰特征分析

EFT测试与静电测试环境和干扰特征分析 1. EFT/B电快速瞬变脉冲群测试及干扰特征分析2. EFT的干扰特征分析与滤波方法3. ESD静电测试及干扰特征分析 1. EFT/B电快速瞬变脉冲群测试及干扰特征分析 EFT测试是模拟在大的感性设备断开瞬间产生的快速瞬变脉冲群对被测设备的影响。 E…...

html body 设置heigth 100%,body内元素设置margin-top出滚动条(margin 重叠问题)

今天在用移动端的时候发现个问题&#xff0c;html,body 设置 height&#xff1a;100% 会出现纵向滚动条 <!DOCTYPE html> <html> <head> <title>html5</title> <style> html, body {height: 100%; } * {margin: 0;padding: 0; } </sty…...

1688 API 自动化采集实践:商品详情实时数据接口开发与优化

在电商行业竞争日益激烈的当下&#xff0c;实时获取 1688 平台商品详情数据&#xff0c;能够帮助商家分析市场动态、优化选品策略&#xff0c;也能助力数据分析师洞察行业趋势。通过 API 自动化采集商品详情数据&#xff0c;不仅可以提高数据获取效率&#xff0c;还能保证数据的…...

Transformer Decoder-Only 参数量计算

Transformer 的 Decoder-Only 架构&#xff08;如 GPT 系列模型&#xff09;是当前大语言模型的主流架构&#xff0c;其参数量主要由以下几个部分组成&#xff1a; 嵌入层&#xff08;Embedding Layer&#xff09;自注意力层&#xff08;Self-Attention Layers&#xff09;前馈…...

苍穹外卖(数据统计–Excel报表)

数据统计&#xff08;Excel报表&#xff09; 工作台 接口设计 今日数据接口 套餐总览接口 菜品总览接口 订单管理接口 ​编辑代码导入 功能测试 导出运营数据Excel报表 接口设计 代码开发 将模板文件放到项目中 导入Apache POI的maven坐标 在ReportCont…...

如何实现Flask应用程序的安全性

在 Flask 应用中&#xff0c;确保安全性非常关键&#xff0c;尤其是当你将应用部署到公网环境中时。Flask 本身虽然轻量&#xff0c;但通过组合安全策略、扩展库和最佳实践&#xff0c;可以构建一个非常安全的 Web 应用。 一、常见 Flask 安全风险&#xff08;必须防护&#xf…...

【Redis】Redis的主从复制

文章目录 1. 单点问题2. 主从模式2.1 建立复制2.2 断开复制 3. 拓扑结构3.1 三种结构3.2 数据同步3.3 复制流程3.3.1 psync运行流程3.3.2 全量复制3.3.3 部分复制3.3.4 实时复制 1. 单点问题 单点问题&#xff1a;某个服务器程序&#xff0c;只有一个节点&#xff08;只搞一个…...

趣味编程:四叶草

概述&#xff1a;在万千三叶草中寻觅&#xff0c;只为那一抹独特的四叶草之绿&#xff0c;它象征着幸运与希望。本篇博客主要介绍四叶草的绘制。 1. 效果展示 绘制四叶草的过程是一个动态的过程&#xff0c;因此博客中所展示的为绘制完成的四叶草。 2. 源码展示 #define _CR…...

HTTP 响应状态码总结

一、引言 HTTP 响应状态码是超文本传输协议&#xff08;HTTP&#xff09;中服务器对客户端&#xff08;通常是 Web 浏览器&#xff09;请求的响应指示。这些状态码是三位数字代码&#xff0c;用于告知客户端请求的结果&#xff0c;包括请求是否成功。响应被分为五个类别&#…...

C语言常见的文件操作函数总结

目录 前言 一、打开和关闭 1.fopen 细节 2.fclos 基本用法示例 二、读写 1.fputc和fgetc 1&#xff09;fputc 细节 基本用法示例 2&#xff09;fgetc 细节 基本用法示例 2.fputs和fgets 1)fputs 细节 基本用法示例 2)fgets 细节 基本用法示例 3)puts的使用&#xff0c;以及为什…...

卫宁健康WiNGPT3.0与WiNEX Copilot 2.2:医疗AI创新的双轮驱动分析

引言:医疗AI的双翼时代 在医疗信息化的浪潮中,人工智能技术的深度融入正在重塑整个医疗行业。卫宁健康作为国内医疗健康和卫生领域数字化解决方案的领军企业,持续探索AI技术在医疗场景中的创新应用。2025年5月10日,在第29届中国医院信息网络大会(CHIMA2025)上,卫宁健康…...

【GPT入门】第38课 RAG评估指标概述

这里写自定义目录标题 一、RAG评估指标二、ragas 评估三、trulens 一、RAG评估指标 二、ragas 评估 2.1 ragas介绍 开源地址&#xff1a;https://github.com/explodinggradients/ragas 官方文档&#xff1a;https://docs.ragas.io/en/stable/从文本生成和文本召回两个维度&am…...

深度剖析多模态大模型中的视频编码器算法

写在前面 随着多模态大型语言模型(MLLM)的兴起,AI 理解世界的能力从静态的文本和图像,进一步拓展到了动态的、包含丰富时空信息的视频。视频作为一种承载了动作、交互、场景变化和声音(虽然本文主要聚焦视觉部分)的复杂数据形式,为 MLLM 提供了理解真实世界动态和因果关…...

【递归、搜索与回溯算法】导论

&#x1f4dd;前言说明&#xff1a; 本专栏主要记录本人递归、搜索与回溯算法的学习以及LeetCode刷题记录&#xff0c;按专题划分每题主要记录&#xff1a;&#xff08;1&#xff09;本人解法 本人屎山代码&#xff1b;&#xff08;2&#xff09;优质解法 优质代码&#xff…...

《智能网联汽车 自动驾驶功能道路试验方法及要求》 GB/T 44719-2024——解读

目录 1. 适用范围 2. 关键术语 3. 试验条件 3.1 试验道路 3.2 试验车辆 3.3 试验设备 3.4 试验时间 4. 试验方法及要求 4.1 功能激活 4.2 动态驾驶任务执行 4.3 动态驾驶任务后援 4.4 状态提示 5. 附录A&#xff08;核心环境要素&#xff09; 6. 实施要点 原文链接…...

path环境变量满了如何处理,分割 PATH 到 Path1 和 Path2

要正确设置 Path1 的值&#xff0c;你需要将现有的 PATH 环境变量 中的部分路径复制到 Path1 和 Path2 中。以下是详细步骤&#xff1a; 步骤 1&#xff1a;获取当前 PATH 的值 打开环境变量窗口&#xff1a; 按 Win R&#xff0c;输入 sysdm.cpl&#xff0c;点击 确定。在 系…...

实战项目1(02)

目录 任务场景一 【sw1和sw2的配置如下】 任务场景二 【sw3的配置】 【sw4-6的配置】 任务场景一 某公司有生产、销售、研发、人事、财务等多个部门&#xff0c;这些部门分别连接在两台交换机&#xff08;SW1和SW2&#xff09;上&#xff0c;现要求给每个部门划分相应的V…...

m1 安装 Elasticsearch、ik、kibana

一、下载安装ES 1、下载地址 ES&#xff5c;download 2、安装 将下载的安装包解压到 要安装的文件目录 关闭 ES 的安全模式 本地文本编辑器打开elasticsearch.yml配置文件,将红箭头指的地方 改为 false3、启动 ES 启动命令 进入 ES 的安装目录&#xff0c;进入bin文件目…...

游戏引擎学习第273天:动画预览

回顾并为一天的内容定下基调 。目前我们正在编写角色的移动代码&#xff0c;实际上&#xff0c;我们已经在昨天完成了一个简单的角色跳跃的例子。所以今天的重点是&#xff0c;开始更广泛地讨论动画&#xff0c;因为我们希望对现有的动画进行调整&#xff0c;让它看起来更加令…...

JVM中的安全点是什么,作用又是什么?

JVM中的安全点&#xff08;Safepoint&#xff09; 是Java虚拟机设计中的一个关键机制&#xff0c;主要用于协调所有线程的执行状态&#xff0c;以便进行全局操作&#xff08;如垃圾回收、代码反优化等&#xff09;。它的核心目标是确保在需要暂停所有线程时&#xff0c;每个线程…...

游戏引擎学习第271天:生成可行走的点

回顾并为今天的内容设定背景 我们昨天开始编写一些游戏逻辑相关的内容&#xff0c;虽然这部分不是最喜欢的领域&#xff0c;更偏好底层引擎开发&#xff0c;但如果要独立完成一款游戏&#xff0c;游戏逻辑也必须亲自处理。所以我们继续完善这部分内容。事实上&#xff0c;接下…...

FlySecAgent:——MCP全自动AI Agent的实战利器

最近&#xff0c;出于对人工智能在网络安全领域应用潜力的浓厚兴趣&#xff0c;我利用闲暇时间进行了深入研究&#xff0c;并成功开发了一款小型轻量化的AI Agent安全客户端FlySecAgent。 什么是 FlySecAgent&#xff1f; 这是一个基于大语言模型和MCP&#xff08;Model-Contr…...

DAMA车轮图

DAMA车轮图是国际数据管理协会&#xff08;DAMA International&#xff09;提出的数据管理知识体系&#xff08;DMBOK&#xff09;的图形化表示&#xff0c;它以车轮&#xff08;同心圆&#xff09;的形式展示了数据管理的核心领域及其相互关系。以下是基于用户提供的关键词对D…...

使用vue3-seamless-scroll实现列表自动滚动播放

vue3-seamless-scroll组件支持上下左右无缝滚动&#xff0c;单步滚动&#xff0c;并且支持复杂图标的无缝滚动。 核心特性 多方向无缝滚动 支持上下、左右四个方向的自动滚动&#xff0c;通过 direction 参数控制&#xff08;默认 up&#xff09;&#xff0c;适用于新闻轮播、…...

Scrapyd 详解:分布式爬虫部署与管理利器

Scrapyd 是 Scrapy 官方提供的爬虫部署与管理平台&#xff0c;支持分布式爬虫部署、定时任务调度、远程管理爬虫等功能。本文将深入讲解 Scrapyd 的核心功能、安装配置、爬虫部署流程、API 接口使用&#xff0c;以及如何结合 Scrapy-Redis 实现分布式爬虫管理。通过本文&#x…...

mac环境配置(homebrew版)

文章目录 【环境配置】HomebrewGitJavaMavenMySQLRedisNacosNode.js 【拓展-mac常见问题】mac文件损坏问题mac必装软件&#xff08;Java开发版&#xff09;zsh和bash配置文件区别 【参考资料】 查看每个版本可以用命令brew info xxx ps&#xff1a;每一个环境安装完之后都要关掉…...

19、DeepSeek LLM论文笔记

DeepSeek LLM 1. **引言**2、架构3、多步学习率调度器4、缩放定律1.超参数的缩放定律2. 估计最优模型和数据缩放 5、GQA分组查询注意力汇总deepseekDeepSeek LLM 技术文档总结1. **引言**2. **预训练**3. **扩展法则**4. **对齐&#xff08;Alignment&#xff09;**5. **评估*…...

基于LLM的6G空天地一体化网络自进化安全框架

摘要 最近出现的6G空天地一体化网络&#xff08;SAGINs&#xff09;整合了卫星、空中网络和地面通信&#xff0c;为各种移动应用提供普遍覆盖。然而&#xff0c;SAGINs的高度动态、开放和异构的性质带来了严重的安全问题。构建SAGINs的防御体系面临两个初步挑战&#xff1a;1)…...

【Mac 从 0 到 1 保姆级配置教程 12】- 安装配置万能的编辑器 VSCode 以及常用插件

文章目录 前言安装 VSCode基础配置常用插件1. 通用开发工具2. 编程语言支持3. 数据库工具4. 主题与界面美化5. 效率工具6. Markdown 工具7. 容器开发8. AI 辅助编程9. 团队协作 最后系列教程 Mac 从 0 到 1 保姆级配置教程目录&#xff0c;点击即可跳转对应文章&#xff1a; 【…...

数据库与SQL核心技术解析:从基础到JDBC编程实战

数据库技术作为现代信息系统的核心&#xff0c;贯穿于数据存储、查询优化、事务管理等关键环节。本文将系统讲解数据库基础知识、SQL语言核心操作、索引与事务机制&#xff0c;并结合Java数据库编程&#xff08;JDBC&#xff09;实践&#xff0c;助你构建完整的数据库技术体系。…...

JUC并发编程(上)

一、JUC学习准备 核心知识点&#xff1a;进程、线程、并发&#xff08;共享模型、非共享模型&#xff09;、并行 预备知识&#xff1a; 基于JDK8,对函数式编程、lambda有一定了解 采用了slf4j打印日志 采用了lombok简化java bean编写 二、进程与线程 进程和线程概念 两者对比…...

postgres--MVCC

PostgreSQL 的 MVCC&#xff08;Multi-Version Concurrency Control&#xff0c;多版本并发控制&#xff09; 是其实现高并发和高性能的核心机制&#xff0c;支持多个事务同时读写数据库而无需加锁阻塞。它的核心思想是通过保留数据的多个版本来避免读写冲突&#xff0c;从而提…...

nanodet配置文件分析

以下是针对 NanoDet-Plus-M-1.5x_416 配置文件的逐模块解析&#xff0c;以及调整参数的作用和影响范围&#xff1a; 1. 模型架构&#xff08;model&#xff09; Backbone&#xff08;骨干网络&#xff09; backbone:name: ShuffleNetV2model_size: 1.5x # 控制网络宽度&…...

【Linux网络】HTTP

应用层协议 HTTP 前置知识 我们上网的所有行为都是在做IO&#xff0c;&#xff08;我的数据给别人&#xff0c;别人的数据给我&#xff09;图片。视频&#xff0c;音频&#xff0c;文本等等&#xff0c;都是资源答复前需要先确认我要的资源在哪台服务器上&#xff08;网络IP&…...

Unity中AssetBundle使用整理(一)

一、AssetBundle 概述 AssetBundle 是 Unity 用于存储和加载游戏资源&#xff08;如模型、纹理、预制体、音频等&#xff09;的一种文件格式。它允许开发者将游戏资源打包成独立的文件&#xff0c;在运行时动态加载&#xff0c;从而实现资源的按需加载、更新以及减小初始安装包…...

CMOS内存的地址空间在主内存空间中吗?

CMOS内存&#xff08;即CMOS RAM&#xff09;的地址空间不位于主内存地址空间&#xff08;如0x00000-0xFFFFF&#xff09;内&#xff0c;而是通过独立的I/O端口地址进行访问&#xff0c;具体如下&#xff1a; ​1. CMOS内存的物理存储与地址机制​ CMOS RAM芯片通常集成在主板…...