sidrs

FDS (KR) - Ass 4 (Bin and Fib Search)

Sep 4th, 2024 (edited)
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. def createList():
  2.     result = []
  3.     n = int(input("Enter the number of students: "))
  4.     print("Enter the roll numbers in Order:")
  5.     for i in range(0, n):
  6.         roll = int(input())
  7.         result.append(roll)
  8.     return result
  9.  
  10.  
  11. #####################
  12. ### BINARY SEARCH ###
  13. #####################
  14. def binarySearch(list):
  15.     key = int(input("Enter the Roll number to be checked: "))
  16.     size = len(list)
  17.     start = 0
  18.     end = size - 1
  19.     mid = 0
  20.     flag = 0
  21.     index = 0
  22.     while(start <= end):
  23.         mid = int(start + (end - start)/2)
  24.        
  25.         if list[mid] == key:
  26.             flag = 1
  27.             index = mid    
  28.             break
  29.  
  30.         if key > list[mid]:
  31.             start = mid + 1
  32.        
  33.         if key < list[mid]:
  34.             end = mid - 1
  35.  
  36.     if (flag == 1):
  37.         print(f"Roll Number: {key} was PRESENT (Index: {index})")
  38.     elif (flag == 0):
  39.         print(f"Roll Number: {key} was ABSENT")
  40.  
  41.  
  42. ########################
  43. ### FIBONACCI SEARCH ###
  44. ########################
  45. ### TODO
  46.  
  47.  
  48.  
  49. rolls = createList()
  50. binarySearch(rolls)
  51.        
  52.  
Advertisement
Add Comment
Please, Sign In to add comment