#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...