关于图论【最短路径之Dijkstra算法(堆优化版)|卡码网47.参加科学大会的思考】
目录一、本题题目二、本题代码三、关键思路四、注意事项五、图论角度六、Dijkstra算法的两种版本求最短路径的区别七、为什么要用这个堆优化版八、自我感觉一、本题题目// 展示完整题目二、本题代码// 展示完整代码三、关键思路1、用小顶堆优化用邻接表存储2、三步走//找距离源点最近的且未访问过的节点//标记已访问过的//更新未访问过的节点到源点的最短路径四、注意事项1、关于各种加入操作C语法// 数组用push_back()// 队列、栈、优先级队列用push()// 集合和map映射用insert()2、operator()这是一个整体的函数调用运算符3、如果代码里要显式调用构造函数结构体里面要写出来4、顶点编号是从1开始的初始化起点的时候要注意初始化的是1// 不是05、获取优先级队列的队头的时候要注意要用一个数值对来接收6.如果有问题要写调试代码段7.这个版本的代码有很多变量、结构体、数组之类的各种含义要搞清楚// 比如cur的含义是当前遍历到的距离源点最近的且未访问过的节点数值对// cur.first的含义是当前遍历到的距离源点最近的且未访问过的节点编号五、图论角度1、点的角度例如Prim算法求最小生成树Dijkstra算法求最短路径2、边的角度例如Kruskal算法求最小生成树堆优化版的Dijkstra算法求最短路径六、Dijkstra算法的两种版本求最短路径的区别1、Dijkstra朴素版【循环 邻接矩阵】2、Dijkstra堆优化版【小顶堆 邻接表】// C里面实现小顶堆用的是优先级队列// 优先级队列可以自定义小顶堆/大顶堆七、为什么要用这个堆优化版时间复杂度更低八、自我感觉1、比朴素版的复杂但是效率更好。果然好东西都是不那么容易拿到的。2、小顶堆的相关操作有待提升每次要写小顶堆的东西的时候都重新自己写一遍3、两种版本的时间复杂度朴素版的时间复杂度是O堆优化版的时间复杂度是Oeloge // e是边的数量有log是因为用堆排序的时候会出现log

相关新闻

OpenClaw ContextEngine实战:智能上下文压缩为AI Agent降本40%

OpenClaw ContextEngine实战:智能上下文压缩为AI Agent降本40%

1. 从“下一个ChatGPT”的预言到真实的成本焦虑黄仁勋在GTC大会上喊出“下一个ChatGPT”时,整个行业都在猜测这指的是什么——是某个颠覆性的模型架构,还是全新的应用范式?作为一名在一线负责公司AI Agent系统架构和成本控制的工程师&#xf…

2026/9/25 9:36:58 阅读更多 →
NemotronLabs-VoiceChat-11B-mlx-bf16 vs 8bit/4bit版本:存储空间与性能的终极对比

NemotronLabs-VoiceChat-11B-mlx-bf16 vs 8bit/4bit版本:存储空间与性能的终极对比

Rust生命周期机制详解:消除悬垂引用的编译时检查终极指南 【免费下载链接】rust 赋能每个人构建可靠且高效的软件。 项目地址: https://gitcode.com/GitHub_Trending/ru/rust Rust编程语言以其卓越的内存安全特性而闻名,而这一切的核心正是其强大…

2026/9/12 5:09:56 阅读更多 →
ITIL4框架下运维真实交付的实践与挑战

ITIL4框架下运维真实交付的实践与挑战

1. ITIL4发布计划与运维交付现状 ITIL4框架的发布在运维领域掀起了一场关于"交付质量"的深刻反思。最近一份行业调研显示,超过90%的运维团队存在"假交付"现象——他们按时提交了服务报告、完成了工单闭环、给出了系统状态更新,但这些…

2026/9/19 15:13:59 阅读更多 →

最新新闻

科研idea高效产出与落地转化实用指南

科研idea高效产出与落地转化实用指南

作为科研新手,文献检索往往是开始研究的第一道难关。面对浩如烟海的学术资源,如何高效、准确地找到自己所需的文献,避免时间浪费和信息过载,是每个研究生和科研人员必须掌握的基本技能。幸运的是,现代科技为我们提供了…

2026/9/25 9:36:38 阅读更多 →
Win11千兆网速卡在100Mbps?物理层协商失败深度排查指南

Win11千兆网速卡在100Mbps?物理层协商失败深度排查指南

1. 问题不是“网速变慢”,而是“协商速率被锁死在100Mbps”我第一次遇到这个情况是在帮朋友重装Win11 23H2后——他家千兆光纤明明跑满能到940Mbps,但系统里显示“以太网”连接速度却永远卡在“100 Mbps”,连“1.0 Gbps”四个字都看不到。他反…

2026/9/25 9:36:38 阅读更多 →
湘潭实力强的西装定制品牌企业所罗定制:挑选全攻略与避坑挑选指南

湘潭实力强的西装定制品牌企业所罗定制:挑选全攻略与避坑挑选指南

想要找售后完善的西装定制机构,不少湘潭本地消费者都会陷入选择困境:想找口碑好的西装定制机构,对比了好几家都摸不清门道,担心踩坑踩雷,又不知道推荐一下西装定制公司哪个更靠谱。随着消费升级理念不断深入&#xff0…

2026/9/25 9:36:38 阅读更多 →
Themida与WinLicense脱壳实战:OEP定位、IAT重建与避坑指南

Themida与WinLicense脱壳实战:OEP定位、IAT重建与避坑指南

简介:面向 Themida 与 WinLicense V1.8.X~V2.X 的脱壳工具集,适合有一定逆向基础的安全分析人员、病毒分析工程师和软件保护研究者,用于解析商业壳的虚拟机指令、导入表还原、代码抽取与反调试对抗等常见脱壳难题。压缩包共301个文…

2026/9/25 9:36:38 阅读更多 →
渗透测试报告工具:从手写到数据驱动渲染的自动化实践

渗透测试报告工具:从手写到数据驱动渲染的自动化实践

简介:这是一款面向渗透测试团队与安全从业者的报告管理工具,以JavaScript技术栈实现,帮助团队跟踪参与项目、定义测试范围,并自动执行nmap、dirb、showmount、nikto及EyeWitness截图等重复性扫描活动。工具内置报告模块&#xff0…

2026/9/25 9:36:38 阅读更多 →
Atlas 300V 24G实战:驱动安装到YOLO部署与性能调优

Atlas 300V 24G实战:驱动安装到YOLO部署与性能调优

手头正好在做一批视频分析设备的选型,测了好几块加速卡之后,我把Atlas 300V 24G留在了机房里长期跑业务。这篇文章不打算复述一遍官方文档里的参数表,而是把从拿到卡开始,装驱动、转模型、跑通YOLO、再优化吞吐的完整路径拆给你看…

2026/9/25 9:35:38 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →