拓扑排序

       最近在学习一些图算法,看到了拓扑排序,这个算法上学期数据结构课上就学过,不过当时没有重视,早就忘光了,刚才好好看了一遍。拓扑排序是一个简单的算法,很容易理解,其思想是:找到图中入度为0的一个顶点并输出它,将以这个定点为起点的边全部删掉,然后再在剩余的点集中找到一个入度为0的点,重复这个过程,直至将全部点输出。

 

 

       拓扑排序算法的证明:在点集中找入度为0的点的实际意义是:找到不需要前提的工作,将这个工作做完后,以这个工作为前提的其他工作也就不需要这个工作做前提了,在图上的意义就是将以这个点为起点的边全部删除,重复这个过程直至输出全部的点。如果在中途找不到入度为0的点,那么也就代表当时剩的工作全部需要前提工作,也就是图中存在环,故此时不能进行拓扑排序。

拓扑排序实现如下:

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值