diff --git a/Algorithms/Searching/BinarySearch.py b/Algorithms/Searching/BinarySearch.py new file mode 100644 index 0000000..a985849 --- /dev/null +++ b/Algorithms/Searching/BinarySearch.py @@ -0,0 +1,28 @@ +def binary_search(l, key): + low = 0 + mid = len(l) // 2 #mid stores the middle index of the list + high = len(l) - 1 + + while low <= high: + if key == l[mid]: + print("Number found at index", mid) + quit() + else: + if key < l[mid]: + high = mid - 1 #adjusts the range to the lower half + else: + low = mid + 1 #adjusts the range to the upper half + + mid = (low + high) // 2 #finds the new middle of the range + + print("Number not found") + +n= int(input("Enter size ")) +l = [] +for i in range(n): + num = int(input("Enter number ")) + l.append(num) + +l.sort() +key = int(input("Enter the number to search for ")) +binary_search(l, key) \ No newline at end of file diff --git a/Algorithms/Searching/LinearSearch.py b/Algorithms/Searching/LinearSearch.py new file mode 100644 index 0000000..56b7147 --- /dev/null +++ b/Algorithms/Searching/LinearSearch.py @@ -0,0 +1,19 @@ +numbers = [] +flag = False +number_of_values = int(input("The number of values to enter ")) + +for i in range(number_of_values): + x = int(input("Enter a number ")) + numbers.append(x) + +value = int(input("Enter a number to seach for")) + +for i in range(len(numbers)): #will iterate over each index + if numbers[i] == value: + flag = True #indicates that the value is found + break + +if flag == True: + print(value, "found at ", (i+1), "position") +else: + print("Number not found") \ No newline at end of file