teromakotero icon

Binary Search

teromakotero | PRO | 05/20/19 04:35:58 PM UTC | 0 ⭐ | 332 👁️ | Never ⏰ | []
Python |

1.16 KB

|

None

|

0 👍

/

0 👎

import random
import time
 
sorted_list_len = random.randint(10,20)
sorted_list = []
i = 0
 
while(len(sorted_list) < sorted_list_len):
    i += 1
    sorted_list.append(i)
    
searched_item = sorted_list[random.randint(0,len(sorted_list)-1)]
#searched_item = 30
 
def binary_search(sorted_list,searched_item):
    left = 0
    #print("left",left)
    #time.sleep(2)
    right = len(sorted_list) - 1
    #print("right",right)
    #time.sleep(2)
    while(left <= right):
        mid = int((right + left) / 2)
        #print("mid",mid)
        #time.sleep(2)
        if(sorted_list[mid] > searched_item):
            right = mid - 1
            #print("left",left)
            #print("right",right)
            #time.sleep(2)
        elif(sorted_list[mid] < searched_item):
            left = mid + 1
            #print("left",left)
            #print("right",right)
            #time.sleep(2)
        elif(sorted_list[mid] == searched_item):
            return sorted_list[mid]
        else:
            return False
print("sorted_list",sorted_list)
print("searched_item",searched_item)
print(binary_search(sorted_list,searched_item))

Comments