topological-sort

    4热度

    2回答

    我有一组数据需要执行拓扑排序,有一些假设和约束条件,我想知道是否有人知道现有的适用于此的高效算法。 数据关系已知形成一个DAG(所以没有担心的周期)。 从A到B的边表示A依赖于B,所以B必须在拓扑排序中出现在A之前。 该图不一定是连接的;也就是说,对于任何两个节点N和M,可能无法通过跟随边缘从N到M(即使忽略边缘方向)。 数据关系是单独关联的。这意味着当存在从A指向B的边时,只有A节包含有关边的存

    7热度

    3回答

    可能最好的例子是一个小例子。 鉴于关系 A < B < C A < P < Q 正确的输出将 ABCPQ or APQBC or APBCQ ... etc. 换句话说,任何排序是有效的在给定的关系成立。 我对最容易实现的解决方案最感兴趣,但速度和时间上的最佳O(n)也很有趣。

    3热度

    2回答

    lst = [(u'course', u'session'), (u'instructor', u'session'), (u'session', u'trainee'), (u'person', u'trainee'), (u'person', u'instructor'), (u'course', u'instructor')] 我上面列出了元组,我需要用下面的逻辑对它进行排序.... 每

    3热度

    2回答

    我正在将工作场所的基础设施转换为使用git而不是svn。整体迁移进展顺利,但我们开发了一个工具来执行SQL模式迁移。 为了处理单个模式更改依赖关系,迁移脚本使用subversion关键字替换将最新更改的版本号放入模式中。使用git,我们不能使用相同的想法,因为修订历史是非线性的(我们完全打算利用分支功能)。 因此,如何从git中获得提交ID的拓扑排序列表?除此之外,任何人对如何处理这个问题有更好的