知行编程网知行编程网  2023-01-10 02:00 知行编程网 隐藏边栏  7 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中拓扑排序如何使用?的相关知识,希望可以帮到处于编程学习途中的小伙伴

如何在python中使用拓扑排序?


如果算法数据结构中有一个非常简单易用简单的算法,答案是肯定的,这就是我们今天要学习的主题


——拓扑排序,其主要作用是检查环的存在和依赖调度等问题。相信大家可能还一头雾水,但别着急,下面就让我们一起揭开谜底吧


拓扑排序


的面纱吧,看下怎么去使用它。



拓扑排序




原理:


就是关于一个数组的事情。


通过一张图片,即可看出相互间的关联。

如何在python中使用拓扑排序?


注意图





1 2 4 3 5就是一个合法的拓扑排序





代码实现


最后,我们来看下代码,真的是史诗级的简单:

paths = [[], [2, 4], [3, 4], [5], [3, 5], []]
indegree = [0 for _ in range(6)]
for u in range(6):
    for v in paths[u]:
        indegree[v] += 1
topological = set()
for i in range(5):
    for u in range(1, 6):
        if u not in topological and indegree[u] == 0:
            topological.add(u)
            for v in paths[u]:
                indegree[v] -= 1
print(topological)



好了,上面已经介绍了所有的内容。你对代码如此简单感到惊讶吗?光是看表面,好像很难,但是实际操作起来真的非常简单。好了,所有的内容都介绍完了。如果你还有什么想知道的,就去

查询吧~

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享