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

图论

图论基础概念

图 ( G ) 由点集 ( V ) 和边集 ( E ) 构成,记为 ( G=(V,E) )。无向图中边 ( e\in E ) 为无序对 ((u,v)),有向图中边为有序对 ( u\to v ) 或 ((u,v))。

  • 简单图:不含重边和自环的图。
  • 树:不含环的无向连通图,满足 ( n=m+1 )(n 为点数,m 为边数)。
  • 有向无环图(DAG):不含环的有向图。

拓扑排序

针对 DAG 的一种排序方式,要求对于图中任意边 ( u\to v ),u 在排序结果中位置始终在 v 之前。

实现思路:

  1. 维护入度为 0 的点的队列
  2. 每次取出一个入度为 0 的点加入结果序列
  3. 删去该点及其所有出边,更新相关点的入度
  4. 重复步骤 2-3 直至队列空
void Sort() {queue<int> q;for (int i = 1; i <= n; ++i) {if (inDegree[i] == 0) q.push(i);}while (!q.empty()) {int u = q.front();q.pop();res.push_back(u);for (int v : adj[u]) {if (--inDegree[v] == 0) q.push(v);}}
}
http://www.sczhlp.com/news/9262/

相关文章:

  • 通过Certbot自动申请更新HTTPS网站的SSL证书
  • 小红的树不动点
  • 垂直前沿:3D-NAND演进、AI、HPC应用及未来趋势的深度分析报告
  • 对称数据高效机器学习新算法突破
  • sql常用
  • 命令行修改Oracle实例名
  • 防火墙对指定IP开放端口
  • 利用Cookie三明治技术窃取HttpOnly Cookie
  • 8 月 10 日模拟赛总结 - sb
  • 生成函数和多项式学习笔记。
  • 修复C++14兼容性问题 逻辑检查 - 详解
  • Java入门+基础(注释→类型转换)
  • 爆零小技巧合集【施工中】
  • win清除缓存
  • 接口文档 Knife4j
  • 02010701 深入理解类01-静态成员、字段与属性关联
  • Dp优化1
  • 1一些sql
  • 可怕的行动力真是让人哭笑不得
  • MX-2025 盖世计划 C 班 Day 8 复盘
  • 麒麟服务器激活步骤
  • 2025.8.10打卡
  • oracle11_导出空表
  • 命令创建表空间和用户
  • 【EF Core】聊聊“复合”属性
  • 替换全库关键字procedure
  • 安装MySQL
  • 银河麒麟OS安装Oracle
  • OI集训 Day25
  • 3