问题描述
如果您有一个完整的有向无环图(即每个顶点与任何其他顶点都有一个正在进行的边或出边),您可以使用经典的拓扑排序算法对其进行拓扑排序 O(V+E) = O(V ^2) 因为 E = O(V^2)。
但是我们可以通过像快速排序这样的经典 O(n log n) 算法在 O(V log V) 中对其进行排序吗?因为我们总是可以比较两个顶点,所以我觉得这会起作用。有什么反例吗?
另外我想这只有在图表完整的情况下才能起作用。即使图形几乎完成,您最终也可能有两个比较两个没有边的顶点。
解决方法
是的,如果输入图是无环的,那么它定义了一个严格的弱排序,其中 a b 当且仅当存在来自 a 的弧 到 b,快速排序会给你唯一的拓扑顺序。
但是,一般来说,如果不探测所有弧线方向,就无法测试锦标赛是否是非循环的。