python-- dichotomy algorithm

# Binary search algorithm, the algorithm must be processed ordered list 
"" " 
L = [2,. 3,. 5, 10, 15, 16, 18 is, 22 is, 26 is, 30, 32, 35, 41 is, 42 is, 43 is, 55 , 56 is, 66, 67, 69, 72, 76, 82, 83, 88] 
DEF Find (L, AIM): 
    mid_index = len (L) // 2 
    IF L [mid_index] <AIM: 
        new_l = L [mid_index + . 1:] 
        Find (new_l, AIM) 
    elif L [mid_index]> AIM: 
        new_l L = [: mid_index] 
        Find (new_l, AIM) 
    the else: 
        Print ( "Discover !!", mid_index, L [mid_index]) 
Find (L , 66) 
"" " 

" "" 
L = [2,. 3,. 5, 10, 15, 16, 18 is, 22 is, 26 is, 30, 32, 35, 41 is, 42 is, 43 is, 55, 56 is, 66, 67, 69, 72, 76, 82, 83, 88] 
DEF Find (L, AIM, Start = 0, End = None):
    end = len(l) if end is None else end
    = mid_index (End - Start) Start // 2 + 
    IF Start <= End: 
        IF L [mid_index] <AIM: 
            return Find (L, AIM, mid_index +. 1 = Start, End = End) 
        elif L [mid_index]> AIM : 
            return Find (L, AIM, Start = Start, End =-mid_index. 1) 
        the else: 
            return mid_index 
    the else: 
        return 'not found' 
RET = Find (L, 66) 
Print (RET) 
"" " 

# Fibonacci # Q n-th Fibonacci number is the number 
# . 1,. 1, 2,. 3,. 5, # FIB. 8 (. 6) FIB = (. 5) + FIB (. 4) 
"" " 
DEF FIB (n, A. 1 = , B =. 1): 
    IF n-==. 1: A return 
    return FIB (. 1-n-, B, A + B) 

Print (FIB (. 5)) 
"" "

# Factorial 
"" "
def fac(n):
    if n == 1 :
        return 1
    return n * fac(n-1)

print(fac(100))
"""

 

Guess you like

Origin www.cnblogs.com/jsit-dj-it/p/11443665.html