Still there is an error it should be
 if(a[mid] > mid )
                       BsearchElemEqualIndex (a, start, mid);
                       else
                           BsearchElemEqualIndex (a, mid + 1, end);
correct me if I am wrong....

On Thu, Mar 3, 2011 at 7:33 PM, nishaanth <nishaant...@gmail.com> wrote:

> Ignore the previous post..there is a small error in the code..
>  @Ankit..your algm is O(n)...you should split the problem size to n/2 at
> every stage...rather you are again computing both the subarrays..
>
> Here is the correct code...
>
> int BsearchElemEqualIndex (int *a, int start, int end)
> {
>        int mid = (((end - start) >> 1) + start);
>        if (a[mid] == mid)
>                return a[mid];
>        else if (a[mid] != mid)
>        {
>                if (mid == start || mid == end)
>                {
>                        return -1;
>                }
>                else
>                {
>                       if(a[mid] < mid )
>                        BsearchElemEqualIndex (a, start, mid);
>                        else
>                            BsearchElemEqualIndex (a, mid + 1, end);
>                }
>        }
> }
>
> int _tmain(int argc, _TCHAR* argv[])
> {
>        int a[SIZE] = {5,9,3,8,1,2,6,7};
>        int x = BsearchElemEqualIndex (a, 0, SIZE);
>        printf ("%d", x);
>        system ("PAUSE");
>        return 0;
> }
> S.Nishaanth,
> Computer Science and engineering,
> IIT Madras.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
Regards
Gunjan Sharma
Chairman IEEE Students Chapter IIT Roorkee
B.Tech IV year CSE

Contact No- +91 9997767077

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to