拓扑排序分析

例如你输入n个点,m个联系
4 3
这四个点分别为1,2,3,4。但是这四个点输出的顺序必须是先有一个条件后有一个输出。
1 2
1 3
4 2
意思就是先输出2才能输出1,先输出3才能输出1,先输出2才能输出4.
我们就是要先创建四个数组,分别存入不同的数据。
例如创建a[num],b[num]两个数组分别用来存储数值。再创建一个r[num]用来存储入度。
入度是什么意思呢,就是2->1,3->1,2->4。
2的入度为0,3的入度为0,4的入度为1,1的入度为2.就是有几个点指向你,就是入度的大小。
将这些数据都存在数组里,然后每次遍历,如果遍历到入度为0的点,就输出,然后把和这个点有关的点的入度减去一。
继续遍历,就这么一直遍历到最后,就可以输出一个拓扑排序。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值