-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBinarySearch.py
More file actions
31 lines (26 loc) · 775 Bytes
/
Copy pathBinarySearch.py
File metadata and controls
31 lines (26 loc) · 775 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Created by Roshan Jayswal
# Copyright © AppMillers. All rights reserved.
# Searching algorithms - Binary Search
import math
def binarySearch(array, value):
start = 0
end = len(array)-1
middle = math.floor((start+end)/2)
while not(array[middle]==value) and start<=end:
if value < array[middle]:
end = middle - 1
else:
start = middle + 1
middle = math.floor((start+end)/2)
# print(start, middle, end)
if array[middle] == value:
return middle
else:
return -1
custArray = [8, 9, 12, 15, 17, 19, 20, 21, 28]
print(binarySearch(custArray, 15))
# [8, 9, 12, 15, 17, 19, 20, 21, 28]
# S M E
# S M E
# SM E
# SME