枚举,时间复杂度,大O记法

# 枚举法 --- 就是一个数一个数的试
# 算法的5大特性:
# 输入:算法具有0个或多个输入
# 输出:算法至少有一个或多个输出
# 有穷性:算法在有限的步骤后会自动结束而不会无限循环,并且每一步可以在接受的时间内完成。
# 确定性:算法中的每一步都有确定的含义,不会出现二义性
# 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成。
#
# 时间复杂度
    # 每台机器执行的总时间不同,但是执行的基本运算数量大体相同
# T(n)=N^3*k +c
# g(n)=n^3
# T(n)=g(n) g(n)就叫做T(n)的渐进函数
# 把提出来的g(n)叫做时间复杂度的大'o'表示法
# 什么是时间复杂度:T(n)就是时间复杂度

枚举的思想 import time start_time
= time.time() for a in range(0,1000): for b in range(0,1000): for c in range(0,1000): if a+b+c==1000 and a**2 + b**2 == c**2: print('a,b,c:%d %d %d'%(a,b,c)) endtime = time.time() print('times:%d'%(endtime-start_time)) print('finished') # import time # start_time = time.time() # for a in range(0,1001): # for b in range(0,1001): # c = 1000 -a - b # if a**2 + b**2 == c**2: # print('a,b,c:%d %d %d'%(a,b,c)) # endtime = time.time() # print('times:%d'%(endtime-start_time)) # print('finished')

 

posted @ 2018-06-23 00:28  liang哥哥  阅读(1762)  评论(0编辑  收藏  举报