Fixed binary search to correctly recurse to left half and right half

This commit is contained in:
TaylorL19 2017-10-10 11:57:16 -05:00
parent 3ecb193ae6
commit 8f71b30995

View File

@ -110,9 +110,9 @@ def binary_search_by_recursion(sorted_collection, item, left, right):
if sorted_collection[midpoint] == item:
return midpoint
elif sorted_collection[midpoint] > item:
return binary_search_by_recursion(sorted_collection, item, left, right-1)
return binary_search_by_recursion(sorted_collection, item, left, midpoint-1)
else:
return binary_search_by_recursion(sorted_collection, item, left+1, right)
return binary_search_by_recursion(sorted_collection, item, midpoint+1, right)
def __assert_sorted(collection):
"""Check if collection is sorted, if not - raises :py:class:`ValueError`