Question regarding the mid value used in the most searching and sorting algorithms. | Sololearn: Learn to code for FREE!

+5

Question regarding the mid value used in the most searching and sorting algorithms.

" The safest way to find the middle of two numbers without getting an overflow is as follows: mid = start + (end-start)/2 " Why it can't be mid = (start + end) / 2 ?

4/10/2021 5:07:50 PM

Prince Gupta

7 Answers

New Answer

+4

start + (end - start) / 2 Is preferred because there is a possibility in a very large array that the result from (start + end) could cause an integer overflow where the resulting value is larger than the max value for int. This would end up in a negative value, causing the index to be out of the bounds of the array.

+2

Thank You.

+1

May anyone provide me with an example ?

+1

https://code.sololearn.com/c9aYXjD55L6E/?ref=app

+1

Use binary sort 😎

+1

it is same, m = (l+r)/2 you should know what it does, In array it takes the array indices and then it find the mid value on its basis we access the mid position's value. let l = start, r = end, m = mid; m = l + (r-l)/2 = l + r/2 - l/2 = l/2+r/2 = (l+r)/2. That's how the fancy formula is straight forward written.

0

good...to know this thing!!