GATE CSE
First time here? Checkout the FAQ!
x
+1 vote
314 views
Consider an array ‘A’ with 2m elements. The elements in odd position are sorted in non-increasing order that is A[1] >= A[3] >= A[5]......A[2m-1] The elements in even position are sorted in non-decreasing order, that is A[2]<= A[4] <= A[6].....A[2m]. Which of the following method is recommended for finding if a given number is in array?
asked in Algorithms by Boss (6k points)   | 314 views
can someone give me code and recurrence relation for this?

1 Answer

+5 votes
Best answer

The proper way to do is :

a) Implement binary search by a little modification in finding the middle index for both the 2 same sized subarrays..

b) If found , then report the element else continue recursively..

So the time complexity will be O(logm + logm)  = O(2logm) = O(logm) 

answered by Veteran (66.5k points)  
selected by
Yes, also in iterative version of binary search, we need to we need to increase (or) decrease index of mid by factor of $2$
What would be the space complexity if we will apply binary search on odd indices and even indices separately?
space complexity is still O(m) exact i can say 2m +m(store half) +m(store half) = 4m
To find space complexity of recursive procedure , we consider the height of the corresponding recursion tree..As the recursion tree of binary search will contain O(logn) levels whatever the case may be so the space complexity due to function call will be : O( logn)
(logn) is extra space right ?
Yup space required for function call overhead


Top Users Jun 2017
  1. Bikram

    3704 Points

  2. Hemant Parihar

    1484 Points

  3. junaid ahmad

    1432 Points

  4. Arnab Bhadra

    1408 Points

  5. Niraj Singh 2

    1311 Points

  6. Rupendra Choudhary

    1194 Points

  7. rahul sharma 5

    1120 Points

  8. Arjun

    930 Points

  9. srestha

    928 Points

  10. Debashish Deka

    896 Points

Monthly Topper: Rs. 500 gift card
Top Users 2017 Jun 19 - 25
  1. Bikram

    1960 Points

  2. Niraj Singh 2

    1306 Points

  3. junaid ahmad

    502 Points

  4. sudsho

    410 Points

  5. akankshadewangan24

    388 Points


23,355 questions
30,065 answers
67,365 comments
28,382 users