#topological Sort'''1 2 3 4 51 ->2 -> 13 -> 14 ->5 -> 3''''''visited = [1,2,3,4,5]ret = [1,5]'''def travel(visited,d,ele): if ele in visited: return if ele in d: for child in d[ele]: yIEld from travel(visited,child) yIEld ele visited.add(ele)def f(array: List,deps: "List of tuple"): ret = [] visited = set() d = {} for v1,v2 in deps: d[v1] = [v2] for ele in array: for n in travel(visited,ele): ret.append(n) return List(reversed(ret))result = f ( [1,5],[ (2,1),(3,4),(5,3) ])print(result)
[5,1]总结
以上是内存溢出为你收集整理的拓扑排序全部内容,希望文章能够帮你解决拓扑排序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)