fixed binary and fibonacci
This commit is contained in:
parent
9820343428
commit
ed996705db
@ -1,10 +1,6 @@
|
|||||||
# BINARY AND FIBONACCI SEARCH DON'T EXACTLY WORK.
|
|
||||||
# HELP US IF YOU CAN BY CREATING AN ISSUE.
|
|
||||||
|
|
||||||
# List to store roll numbers of students that attended the program
|
# List to store roll numbers of students that attended the program
|
||||||
programRoll=[]
|
programRoll=[]
|
||||||
attendees=int(input("Enter the number of students attending the program:\t"))
|
attendees=int(input("Enter the number of students attending the program:\t"))
|
||||||
begin=0
|
|
||||||
|
|
||||||
# Function to take input for roll numbers in list
|
# Function to take input for roll numbers in list
|
||||||
def attendInput():
|
def attendInput():
|
||||||
@ -32,6 +28,25 @@ def sentinelSearch(roll_list, roll_search, n):
|
|||||||
else:
|
else:
|
||||||
return -1
|
return -1
|
||||||
|
|
||||||
|
def binarySearch(arr, target):
|
||||||
|
arr.sort()
|
||||||
|
# Binary search on the sorted list
|
||||||
|
low, high = 0, len(arr) - 1
|
||||||
|
while low <= high:
|
||||||
|
mid = (low + high) // 2
|
||||||
|
mid_element = arr[mid]
|
||||||
|
|
||||||
|
if mid_element == target:
|
||||||
|
return mid # Target element found, return its index
|
||||||
|
elif mid_element < target:
|
||||||
|
low = mid + 1 # Target is in the right half
|
||||||
|
else:
|
||||||
|
high = mid - 1 # Target is in the left half
|
||||||
|
|
||||||
|
return -1 # Target element not found in the list
|
||||||
|
|
||||||
|
'''
|
||||||
|
# DOESN'T WORK THIS ONE
|
||||||
# Binary search
|
# Binary search
|
||||||
def binarySearch(roll_list, roll_search, begin, n):
|
def binarySearch(roll_list, roll_search, begin, n):
|
||||||
if begin>n:
|
if begin>n:
|
||||||
@ -43,9 +58,11 @@ def binarySearch(roll_list, roll_search, begin, n):
|
|||||||
return binarySearch(roll_list, roll_search, begin, mid-1)
|
return binarySearch(roll_list, roll_search, begin, mid-1)
|
||||||
else:
|
else:
|
||||||
return binarySearch(roll_list,roll_search,mid+1,n)
|
return binarySearch(roll_list,roll_search,mid+1,n)
|
||||||
|
'''
|
||||||
|
|
||||||
# Fibonacci search
|
# Fibonacci search
|
||||||
def fibonacciSearch(students_attend, search_element, n):
|
def fibonacciSearch(students_attend, search_element, n):
|
||||||
|
students_attend.sort()
|
||||||
fibMMm2 = 0
|
fibMMm2 = 0
|
||||||
fibMMm1 = 1
|
fibMMm1 = 1
|
||||||
fibM = fibMMm2 + fibMMm1
|
fibM = fibMMm2 + fibMMm1
|
||||||
@ -101,19 +118,19 @@ def main():
|
|||||||
else:
|
else:
|
||||||
print(f"\nRoll number {searchAttendee} has either not been added to the list or was absent.\n")
|
print(f"\nRoll number {searchAttendee} has either not been added to the list or was absent.\n")
|
||||||
elif (optn==3):
|
elif (optn==3):
|
||||||
result=binarySearch(programRoll, searchAttendee, begin, attendees)
|
result=binarySearch(programRoll, searchAttendee)
|
||||||
if (result==-1):
|
if (result==-1):
|
||||||
print(f"\nRoll number {searchAttendee} attended the program.\n")
|
|
||||||
else:
|
|
||||||
print(f"\nRoll number {searchAttendee} has either not been added to the list or was absent.\n")
|
print(f"\nRoll number {searchAttendee} has either not been added to the list or was absent.\n")
|
||||||
|
else:
|
||||||
|
print(f"\nRoll number {searchAttendee} attended the program.\n")
|
||||||
elif (optn==4):
|
elif (optn==4):
|
||||||
result=fibonacciSearch(programRoll, searchAttendee, attendees)
|
result=fibonacciSearch(programRoll, searchAttendee, attendees)
|
||||||
if (result==-1):
|
if (result==-1):
|
||||||
print(f"\nRoll number {searchAttendee} attended the program.\n")
|
|
||||||
else:
|
|
||||||
print(f"\nRoll number {searchAttendee} has either not been added to the list or was absent.\n")
|
print(f"\nRoll number {searchAttendee} has either not been added to the list or was absent.\n")
|
||||||
|
else:
|
||||||
|
print(f"\nRoll number {searchAttendee} attended the program.\n")
|
||||||
elif (optn==5):
|
elif (optn==5):
|
||||||
print("## DESIGNED AND ENGINEERED BY KSHITIJ\n## END OF CODE")
|
print("\n## END OF CODE\n\n")
|
||||||
quit()
|
quit()
|
||||||
else:
|
else:
|
||||||
print("\nPlease choose a valid option (1-5)\n")
|
print("\nPlease choose a valid option (1-5)\n")
|
||||||
|
Loading…
Reference in New Issue
Block a user