news 2026/6/10 14:58:45

代码随想录算法训练营第五十八天|拓扑排序精讲,Dijkstra算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
代码随想录算法训练营第五十八天|拓扑排序精讲,Dijkstra算法

拓扑排序

这个有向图转成线性的排序 就叫拓扑排序

当然拓扑排序也要检测这个有向图 是否有环,即存在循环依赖的情况,因为这种情况是不能做线性排序的。

所以拓扑排序也是图论中判断有向无环图的常用方法

可以用BFS& DFS两种方法解决

接下来我给出 拓扑排序的过程,其实就两步:

  1. 找到入度为0 的节点,加入结果集
  2. 将该节点从图中移除

Coding

1. 为了每次可以找到所有节点的入度信息,我们要在初始化的时候,就把每个节点的入度 和 每个节点的依赖关系做统计。

2. 用queue存放nodes whose in-degree = 0

3. 将该节点作为出发点所连接的节点的in-degree -1

Dijkstra朴素版

之前在optimization课堂上学过,希望作为复习,捡起来很快

求最短路

dijkstra算法:在有权图(权值非负数)中求从起点到其他节点的最短路径算法。

需要注意两点:

  • dijkstra 算法可以同时求 起点到所有节点的最短路径
  • 权值不能为负数

dijkstra三部曲

  1. 第一步,选源点到哪个节点近且该节点未被访问过
  2. 第二步,该最近节点被标记访问过
  3. 第三步,更新非访问节点到源点的距离(即更新minDist数组)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:05:10

PyTorch-2.x-Universal-Dev-v1.0避坑大全,这些错误别再犯了

PyTorch-2.x-Universal-Dev-v1.0避坑大全,这些错误别再犯了 1. 镜像环境与使用场景解析 1.1 镜像核心特性概述 PyTorch-2.x-Universal-Dev-v1.0 是一款基于官方 PyTorch 构建的通用深度学习开发镜像,专为提升开发者效率而设计。该镜像预装了常用数据处…

作者头像 李华
网站建设 2026/6/10 13:31:15

Arduino Uno作品全面讲解:串口通信调试技巧

Arduino Uno 串口调试实战指南:从原理到高效排错你有没有遇到过这样的情况?代码烧录成功,Arduino Uno 的板载 LED 却毫无反应;打开串口监视器,看到的不是期待的数据,而是一堆乱码或空白输出。更糟的是&…

作者头像 李华
网站建设 2026/6/10 13:34:42

cv_resnet18_ocr-detection训练日志分析:workdirs文件解读

cv_resnet18_ocr-detection训练日志分析:workdirs文件解读 1. 背景与目标 在OCR文字检测模型的开发和优化过程中,cv_resnet18_ocr-detection 是一个基于ResNet-18骨干网络构建的轻量级检测模型。该模型由“科哥”主导开发,并通过WebUI界面实…

作者头像 李华
网站建设 2026/6/10 12:24:48

云知声拟配售:募资1.9亿港元 股价跌7% 市值跌破200亿港元

雷递网 乐天 1月16日云知声智能科技股份有限公司(股份代号:9678)今日发布公告,称于2026年1月16日,公司与配售代理订立配售协议。据此,云知声已同意委聘配售代理及配售代理已同意作为公司代理,尽…

作者头像 李华
网站建设 2026/6/10 14:28:24

AI提升客户满意度:Super Resolution客服图像处理应用

AI提升客户满意度:Super Resolution客服图像处理应用 1. 技术背景与业务价值 在客户服务场景中,用户上传的图片质量参差不齐,尤其是通过移动端或老旧设备拍摄的照片,常常存在分辨率低、模糊、压缩失真等问题。这不仅影响人工客服…

作者头像 李华