假设在最坏的情况下运行时O(n)中有一种方法可以对具有n个元素的数组进行排序。我们也知道/假设需要花费不变的时间来比较数组的每个元素(这个假设是必须的,我们不能忽略它)。
在最坏的情况下是否可以对数组进行排序O(n)如果:具有偶数索引的每个元素都从最小到最大排序。 并且索引不均匀的每个元素都从最大到最小排序。
Example:
We have array A = 1, 10, 3, 8, 5, 6, 7, 4, 9, 2, 11
Even index: 1, 3, 5, 7, 9, 11 (Index 0, 2, 4, 6, 8, 10) --> Sorted smallest to biggest
Uneven index: 10, 8, 6, 4, 2 (Index 1, 3, 5, 7, 9) --> Sorted biggest to smallest
Aim result sorted: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 (works in O(n)?)
在最坏情况下O(n)可以完全排序吗? 只是一个理论问题,不需要代码。我会说偶数指数很好,它们从最小到最大排序,我们的结果也需要看起来像那样,从最小到最大。然而,如果不均匀指数中的元素较小,那么它们的位置是一个大问题呢?我们必须改变位置,但是假设它可以在恒定时间内进行比较,所以在O(n)中。但一般来说,数组的排序是在O(nlogn)中完成的,不是吗? 那么这意味着它在O(n)最坏情况运行时不起作用吗?