【发布时间】:2017-12-23 13:32:17
【问题描述】:
将问题 A 简化为问题 B 意味着问题 B 至少与 A 一样难,甚至更难。
如果我可以将排序简化为其他问题 X,我知道 X 的下限为 Omega(n log n)。 该下限是否保证是严格的下限?我怀疑它不应该是这样,因为只知道 X 至少和 A 一样难——这意味着它可能更难,因此会有不同的下限。
我的意思是说因为插入排序有一个最坏情况的紧上限 O(n^2) 是正确的,所以说它有一个最坏情况的运行时间 O 也是正确的(n^3)。这是正确的,但没有太大的实用价值——因为我们 99% 的时间都对紧边界感兴趣。
【问题讨论】:
-
“减少排序以解决其他问题”是什么意思?您的意思是某些排序算法中的子算法,例如partition 在快速排序中,merge 在合并排序中,以及 heapify 在堆排序中?
-
计算机科学堆栈交换也可能对此感兴趣:cs.stackexchange.com
标签: algorithm computer-science complexity-theory reduction