| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [View Raw Code] [Original HTTPS Page] |
Consider Variables
input Variable lst : Input List(sorted list) number: Search ELement Output Variable result : True if Element is Found Else False middle(index) : -1 if element is not found else return index of search element. iteration : return Number of iteration
step 1 : set start variable to 0 and end variable to (length(lst)-1)
start=0
end=length(lst)-1step 2 : if start is greater than end break the algorithm
step 3 : calculate middle variable
middle=(start+end)//2step 4 : Check Following Conditions:
number==lst[middle]
number>lst[middle]
start=middle+1number<lst[middle]
end=middle-1def BinarySearch(lst,number):
'''Function Input
lst: A Integer Element List
number: The Number which Do you Want to Search
Function Output:
result: True if number is found else False
middle(index): if element found then index else return -1 if element is not found
iteration : Total No of Iteration Required
'''
result=False
iteration=0
length=len(lst)
start=0
end=length-1
while start<=end:
iteration+=1
middle=(start+end)//2
if lst[middle]==number:
result=True
break
elif number>lst[middle]:
start=middle+1
elif number <lst[middle]:
end=middle-1
else:
middle=-1
return result,middle,iteration
#Driver Program
#Simple List
lst=[1,2,3,4,5,6,7,8,9,10]
# Print Normal List
print(lst)
#Get Use Input From User
number=int(input("Enter Search Number:"))
#Call Search Function and save result in res and No of iteration in iteration
res,index,iteration=BinarySearch(lst,number)
#Print the Result
print("\nNumber In List: {} \nNumber Index :{} \nRequired iteration: {}".format(res,index,iteration))
Output for 2 Input
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Enter Search Number: 2
Number In List: True
Number Index :1
Required iteration: 2Output For 11 Input
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Enter Search Number: 11
Number In List: False
Number Index :-1
Required iteration: 4Output for 5 input
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Enter Search Number: 5
Number In List: True
Number Index :4
Required iteration: 1O(1)
| Back | FazBrowse Home | New Git URL |