Basic sequential search algorithm binary search

1  # sequential search that is within a given range traversed one by one, until you find the data needed to find or quit, suitable for any type of search target. Complexity is O (n) below as an example a list showing sequential search algorithm 
2 List1 = [I for I in Range (100)] # using the formula list, generates a 0 to 99 in steps of 1 lists. 
. 3 find_num = int (INPUT ( " inpute you want Find NUM " ))
 . 4  for I in Range (len (List1)):
 . 5      IF   find_num == List1 [I]:
 . 6          Print ( " NUM% D index IS " % I )
 7          BREAK 
8  Print ( " at The NUM not in List ")
 9  
10  # binary search. Binary search for finding objects have been sequenced, complexity is O (log n) or in list1 look-at, assume the list in ascending order 
. 11  DEF Find_Num (NUM, list1):
 12 is      Low = 0
 13 is      Top = len (list1) - . 1
 14      IF len (List1) == 0:
 15          Print ( " List IS null " )
 16          Exit ()
 . 17      the while Low <= Top:
 18 is          Task = int ((Top + Low) / 2 )
 . 19          GUESS = List1 [Task ]
 20 is          IF NUM == List1 [Task]:
 21 is             print("the num1 index is %d"%task)
22             break
23         if num > list1[task]:
24             low = task + 1
25         elif num < list1[task]:
26             top = task - 1
27     else:
28         print("num not in list1")
29 Find_Num(20, list1)

 

Guess you like

Origin www.cnblogs.com/flags-blog/p/11932182.html