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

25.11.6 DAG和拓扑排序

一.DAG即有向无环图,常用于:
任务依赖:某任务必须在另一个任务完成后执行(如编译依赖、任务调度)。
课程顺序:先修课关系。
表达式计算顺序。
动态规划优化:例如在 DAG 上进行最长路径、最短路径 DP。
二.拓扑排序
1.拓扑排序只存在于DAG中
2.两种算法
a.入度法:
(1)统计所有节点的入度
(2)讲所有入度为0的点加入队列
(3)将队头节点出队并加入拓扑序列,将这个点指向的所有点的入度—1(即删除该点的所有出边)
(4)每次出队一个元素后重复(2)(3)操作直到队空
b.dfs法
(1)对一个图进行dfs
(2)当某个节点的子节点全部遍历完了后,将该节点入栈
(3)最后逆序输出栈中节点,即所求的拓扑排序
三.求最长路径
在DAG求最长路径就是用拓扑排序+dp实现(与求最短路极其相似,区别在dp松弛时的min和max)

http://www.jsqmd.com/news/33557/

相关文章:

  • 2025-11-06 PQ v.Next日志记录
  • 数据库介绍,安装,配置
  • Spring BeanFactory 接口
  • 领码方案|微服务与SOA的世纪对话(3):方法论新生——DDD、服务网格与AI Ops的融合之道 - 实践
  • 遗留系统微服务改造(四):从单体到微服务的演进之路 - 详解
  • 备考笔记8
  • 不用Docker也能跑RustFS?Windows一键安装实测来了!
  • Spacy 词性 实体 依存关系等对应缩写
  • 洛谷 P2824
  • JavaSE——基础
  • [Python刷题记录]-只出现一次的数字-异或位运算-简单
  • 安装 PySide2/PySide6/PyQt5/PyQt6
  • 【Agent】 ACE(Agentic Context Engineering)源码阅读笔记---(3)关键创新
  • 在Mac中用vscode写java
  • HJ1350接口(环保报送清单)
  • 11月6号
  • 解决macOS升级到Tahoe后ssh-dss算法失效的问题
  • 20251106 正睿
  • 初识SQL语句
  • linux安装与命令
  • 25.11.6随笔联考总结
  • Cloudflare中的“托管质询”、“JavaScript质询“、”交互式质询”区别 - 狼人:
  • 数字识别模型
  • 完整教程:mysql表的操作——mysql表的约束
  • 洛谷 P5327
  • 完整教程:mysql表的操作——mysql表的约束
  • 2025年AI/LLM安全围栏/护栏/安全网关选型深度评估
  • 通过重写组件轻松掌握用JSX写Vue项目
  • 鸿蒙应用开发零基础入门:从工具到语言,轻松开启第一步
  • [Python刷题记录]-两两交换链表中的节点-链表-中等