第一次嘗試

2021-08-13 17:12:07 字數 1044 閱讀 2574

#python是資料結構筆記一

#引入:以一道題來展示

#如果a+b+c = 1000,且a^2+b^2 = c^2(a,b,c為自然數),求a,b,c可能的組合

#解析:

#列舉法

#思路:

#a=0......

#b=0......

#c=?......

#先讓其中的乙個數a去不變,b變化,當b確定乙個數的時候c去變化(也就是利用迴圈巢狀的方式)

#乙個個的試,那麼就有多鐘組合,用計算機設計程式

import time

start_time = time.time()

for a in range(0,1001):#1000次

for b in range(0,1001):#1000次

for c in range(0,1001):#1000次

if a+b+c==1000 and a**2 + b**2 == c**2 :

print("a, b, c :%d, %d, %d"%(a, b, c))#加上上一步是2次

end_time = time.time()

print("finished")

t = 1000*1000*1000*2

若將a+b+c = 2000

t = 2000*2000*2000*2

若將a + b  + c  = n(n就是這個問題規模)

時間複雜度 t =  n*n*n*2

對於時間複雜度而言,是與問題的規模n有關的

用函式來表示

t(n) = n^3*2

但是我們在分析的時候是不用關心精確資料的,為了更好的分析,就去掉了旁枝末節

例如t(n) = n^3*2和t(n) = n^3*3是同乙個數量級的,所以只看n^3部分就可以了,認為和n^3是同乙個變化走勢的,稱2和3是係數,而係數2或3是不影響變化走勢的,所以可以去掉

就把這個t(n)記作大o表示法。其實就是加個大o,變成這樣 t(n) = o(n^3)

第一次嘗試

第一次嘗試呢 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展...

SqlLocalDB第一次嘗試

一 介紹 sqllocaldb是vs安裝時附帶的資料庫軟體,相當於精簡版的sql express。二 使用 vs版本為2015,預設安裝位置為 c program files microsoft sql server 130 tools binn 如果能看到sqllocaldb,說明安裝正確,開啟c...

OpenCV第一次嘗試

問題描述 error main.o undefined reference to symbol zn2cv6imreaderkns 6stringei usr local opencv release lib libopencv imgcodecs.so.3.0 1 error error addi...