拓扑排序.md

1 拓扑排序

1.1 什么是拓扑排序

在图论中,拓扑排序是一个有向无环图(必须条件)的所有顶点的进行排序的线性序列。而且序列必须满足两个条件:

  1. 每个顶点只出现一次;
  2. 若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。

如图就可以进行拓扑排序:

在这里插入图片描述

1.2 进行排序

在这里插入图片描述

排序序列:1 ,2, 4, 3, 5;

排序规则

每次循环都是找到入度为0的点,对这个点进行输出,并把这个点关联的边去掉。

循环以上的步骤直到所有的点都输出完。

1.3 拓扑排序的应用

工程例子:在一个工程中有很多的子任务(以上图为例,一个工程共5个子任务),除了开始任务其他的每个任务都需要等待前面的任务做完了才能继续进行这个任务,那么在工程开始的时候工程负责人就需要进行规划任务的执行顺序,以保证工程能够正常运行。

学习例子:在学习生中,学习数学之前,需要学习语文(认字、读题、理解),在学习物理之前需要学习数学(计算能力),所以就有了一个序列:语文- > 数学 -> 物理。这就规划了我们整体的学习流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值