【发布时间】:2016-06-08 19:03:35
【问题描述】:
这是一个理论问题,因此假设比较array中的elements需要恒定的时间。
我们得到了一个array,它的前半部分elments 小于它的另一半。什么都没有排序。在最坏的情况下运行时O(n) 是否可以对其进行排序,或者没有办法?
我认为这行不通,因为对前半部分进行排序需要O((n/2)*log(n/2)) 时间,后半部分也是如此。总的来说,这将是O(n*log(n/2)),所以还是O(n*logn)?
这是对还是错?如果可能,请解释一下。
【问题讨论】: