149 views

An array of $n$ distinct elements is said to be un-sorted if for every index $i$ such that $2 \leq i \leq n-1$, either $A[i] > max \{A [i-1], A[i+1]\}$, or $A[i] < min \{A[i-1], A[i+1]\}$. What is the time-complexity of the fastest algorithm that takes as input a sorted array $A$ with $n$ distinct elements, and un-sorts $A$?

1. $O(n \: \log \: n)$ but not $O(n)$
2. $O(n)$ but not $O(\sqrt{n})$
3. $O(\sqrt{n})$ but not $O(\log n)$
4. $O(\log n)$ but not $O(1)$
5. $O(1)$

A pairwise swap will make the sorted array unsorted. Hence, the option (b) is correct.

For eg - if an array is 1 2 3 4 5 6 7 8

The array will become after a pair wise swap to 2 1 4 3 6 5 8 7. For all i between 2 and n-1, a[i] is either lower, or either greater than their adjacent elements.

Since, each element is being swapped exactly once. The operation has O(n) time complexity.
edited
So you mean only one pass of bubble sort is enough??
Hi,

I have just edited the answer to make my point more clear. By pairwise swap, i mean here the pairwise disjoint swapping of elements. Hope, I would have made my point more clear.
I think you have got the best case

Here is my exmple-- 15 10 20 13 17...I think here we need more swap..Please check once.Let me know If i m doing any mistake
Hi

Question asks that Input is sorted. You may be missing that point..

btw thanks for correction

+1 vote