算法系列3之拓扑排序

一.拓扑排序

1.基础概念

AOV网

拓扑排序:根据步骤算法入度,出度要实时更新,所以正邻接表只记录了出度,十字链表反而麻烦,于是应用下方模型

辅助数组(入度)+邻接表模型

应用 : 应用与项目管理软件(AOV网)

2.核心思路

3.步骤

先遍历,更新入度统计表

  1. 找到图中,入度为0的顶点,把这些顶点放入缓存中(栈、队列)

  2. 从缓存区中,取出一个顶点,放入到结果集

  3. 这个顶点的事件发生了,顶点的对应出度消失,有其他顶点的入度随之消失。

  4. 又会增加新的入度为0的顶点出现,如果出现,放入缓存

  5. 重复2-3-4

  6. 取出缓存中的所有顶点数量:a1,图中顶点的总个数为a2;

a1 == a2 没有环,a1 < a2 有环

二.代码

.h

.c

main.c

相关推荐
OOJO3 小时前
c++---list介绍
c语言·开发语言·数据结构·c++·算法·list
别或许5 小时前
1、高数----函数极限与连续(知识总结)
算法
田梓燊5 小时前
code 560
数据结构·算法·哈希算法
笨笨饿5 小时前
29_Z变换在工程中的实际意义
c语言·开发语言·人工智能·单片机·mcu·算法·机器人
kobesdu5 小时前
综合强度信息的激光雷达去拖尾算法解析和源码实现
算法·机器人·ros·slam·激光雷达
艾为电子5 小时前
【技术帖】让接口不再短命:艾为 C-Shielding™ Type-C智能水汽防护技术解析
c语言·开发语言
weixin_413063215 小时前
记录 MeshFlow-Online-Video-Stabilization 在线稳像
算法·meshflow·实时防抖
会编程的土豆6 小时前
【数据结构与算法】动态规划
数据结构·c++·算法·leetcode·代理模式
炘爚6 小时前
深入解析printf缓冲区与fork进程复制机制
linux·运维·算法
迈巴赫车主7 小时前
蓝桥杯19724食堂
java·数据结构·算法·职场和发展·蓝桥杯