枚舉,時間復雜度,大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')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM