First time here? Checkout the FAQ!
+2 votes

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)$
asked in Algorithms by Veteran (79.1k points)   | 149 views

1 Answer

+2 votes
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.
answered by Junior (985 points)  
edited by
So you mean only one pass of bubble sort is enough??

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

Question asks that Input is sorted. You may be missing that point..
ohh..yes..i read just the opposite..sorry

btw thanks for correction

Related questions

Top Users Aug 2017

    4670 Points

  2. Bikram

    4556 Points

  3. akash.dinkar12

    3420 Points

  4. rahul sharma 5

    3124 Points

  5. manu00x

    2864 Points

  6. makhdoom ghaya

    2450 Points

  7. just_bhavana

    2136 Points

  8. Tesla!

    2042 Points

  9. stblue

    1930 Points

  10. joshi_nitish

    1686 Points

24,970 questions
32,072 answers
30,150 users