是否有一种有效的算法可以从部分订单的transitive reduction创建linear extension?
更新:实际上,部分订单已知。我也知道给定偏序的time complexity of computing a transitive reduction。我想知道的是:给定部分顺序和其中一个线性扩展,可以减少时间复杂度吗?
答案 0 :(得分:4)
渐渐地说,答案是否定的。由于必须检查整个输入,因此Omega(n + m)的平均下界是非常简单的,并且拓扑排序在时间O(n + m)中产生线性扩展,这不会为任何正确的算法增加渐近成本。
答案 1 :(得分:0)
如果我理解正确的问题,可以通过在输入的编码长度中使用线性时间topological sorting来生成部分排序的线性扩展。在你的问题中的链接之后,生成的序列已经是自身的传递减少,因为它的传递闭包是相同的可达性关系。但请注意,初始偏序的线性扩展可能不是唯一确定的。