新建一个时间计算程序,cal_time.py

    1. #用于计算时间复杂度的程序
    2. import time
    3. def cal_time(func):
    4. def wrapper(*args,**kwargs):
    5. t1 = time.time()
    6. result = func(*args, **kwargs)
    7. t2 = time.time()
    8. print("%s running time: %s secs." % (func.__name__,t2 - t1))
    9. return result
    10. return wrapper

    新建一个 查找比较的程序
    这里采用了装饰器;

    from  cal_time import *
    
    @cal_time
    def linear_search(li,val):
        for ind,v in enumerate(li):
            if v == val:
                return ind
            else:
                return None
    
    @cal_time
    def binary_search(li,val):
        left=0
        right=len(li)-1
        while left<=right:    #说明候选区有值;
            mid = (left+right) // 2
            if li[mid] == val:
                return mid
            elif li[mid] > val:
                right = mid -1
            else: #mid<val 说明待查找的值在右侧;
                left = mid +1
        else:
            return None
    
    
    li=list(range(1000000))
    linear_search(li,543)
    binary_search(li,543)