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

一、拓扑排序

1、基础知识

1)什么是拓扑排序

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

2)拓扑排序的操作方法

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

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

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

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


相关推荐
wabs66615 分钟前
关于图论【卡码网104.建造最大岛屿的思考】
数据结构·算法·图论
玖玥拾28 分钟前
LeetCode 27 移除元素
算法·leetcode
冻柠檬飞冰走茶1 小时前
PTA基础编程题目集 7-15 计算圆周率(C语言实现)
c语言·开发语言·数据结构·算法
问商十三载1 小时前
AI 引擎生成式优化两种思路怎么选?2026 对比分析附选型方法
人工智能·算法
hanlin032 小时前
刷题笔记:力扣第704、977、209题(数组相关)
笔记·算法·leetcode
陕西企来客3 小时前
生成式引擎优化(GEO)行业白皮书:从流量分配到认知占有的战略跃迁
人工智能·算法·机器学习·技术好geo优化
清泓y3 小时前
深度学习算法
算法·ai·语言模型·面试
m沐沐3 小时前
【深度学习】循环神经网络RNN——结构、原理与长期依赖问题解析
人工智能·pytorch·python·rnn·深度学习·算法·机器学习
Rabitebla3 小时前
C++ 内存管理全面复习:从内存分布到 operator new/delete
java·c语言·开发语言·c++·算法·leetcode