c++基础知识-图论进阶

一、拓扑排序

1、基础知识

1)什么是拓扑排序

对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若,则u在线性序列中出现在v之前。

2)拓扑排序的操作方法

重复执行下列步骤,直到不存在入度为0的顶点为止。

a)选择一个入度为0的顶点并输出:

b)从图中删除此顶点及所有出边。

环的判断方法:操作结束后,如果输出的顶点的数量<图的顶点数,说明存在环,所需时间 O(n)。每个顶点入度减1的运算共执行了e次。所有总的时间复杂为O(n+e)。


相关推荐
Funny_AI_LAB6 分钟前
AI Agent最新重磅综述:迈向高效智能体,记忆、工具学习和规划综述
人工智能·学习·算法·语言模型·agi
执着25922 分钟前
力扣hot100 - 94、二叉树的中序遍历
数据结构·算法·leetcode
-dzk-24 分钟前
【代码随想录】LC 707.设计链表
数据结构·c++·算法·链表
Dave.B1 小时前
vtkPolyDataConnectivityFilter 实用指南
算法·vtk
细节处有神明2 小时前
开源数据之历史气象数据的获取与使用
人工智能·python·算法
小白开始进步2 小时前
JAKA Zu12 机械臂运动学算法深度解析(含可视化方案)
python·算法·numpy
梵刹古音2 小时前
【C语言】 递归函数
c语言·数据结构·算法
yongui478342 小时前
混凝土二维随机骨料模型 MATLAB 实现
算法·matlab
酉鬼女又兒2 小时前
JAVA牛客入门11~20
算法