[Solved] What’s wrong with this binary search? [closed]

[ad_1]

There are at least two, possibly three, things I can see wrong with it.

It uses (low + high)/2. The addition may overflow to a negative number if the array is very large. If so, division by 2 will lead to a negative index. This can be fixed by using (low + high)>>>1.

It is not documented. I am guessing that it is intended to return the match index if it finds the key in the array, and a negative value on miss. I am not sure exactly what the negative result is supposed to represent, due to the lack of documentation.

Depending on the missing specification, there may be additional problems.

[ad_2]

solved What’s wrong with this binary search? [closed]