資料演算法與結構 引入篇

2021-10-03 22:29:39 字數 2258 閱讀 5668

乙個小例子:如果 a+b+c=1000,且 a2+b2=c^2(a,b,c 為自然數),如何求出所有a、b、c可能的組合?

import time

start_time = time.time(

)# 注意是三重迴圈

for a in

range(0

,1001):

for b in

range(0

,1001):

for c in

range(0

,1001):

if a**

2+ b**

2== c**

2and a+b+c ==

1000

:print

("a, b, c: %d, %d, %d"

%(a, b, c)

)end_time = time.time(

)print

("elapsed: %f"

%(end_time - start_time)

)print

("complete!"

)

import time

start_time = time.time(

)# 注意是兩重迴圈

資料結構與演算法 學習引入

找到丟失的數字 現在你手上有n 1個數字,這些數字的範圍是 1,n 且這n 1個數字中沒有重複的數字。有上述條件可知 你手上的數字缺了乙個。請編寫一段高效的找到缺失數字的 此題是一道比較老的資料結構與演算法考題,首先,在解答該題時,要進行一些題目的分析,題目分析我們主要做些什麼呢?要弄清楚,這n 1...

資料結構與演算法篇 hash

python中dict結構用雜湊表構建,採用開放定址法解決雜湊衝突 1 雜湊函式構造方法 自己選擇某種規則,避免衝突 直接定址法 數字分析法 平方取中法 摺疊法 除留餘數法 除數為質數 2 解決衝突方法 待插入的元素按雜湊函式計算得到的位址已經被占用 開放定址法 線性探測再雜湊,位址不斷加1,2,3...

演算法與資料結構 排序篇

演算法 平均複雜度 最壞情況 原地排序 額外空間 是否穩定 選擇排序 o n 2n n2 o n2n n2 是 o 1 是氣泡排序 o n 2n n2 o n2n n2 是 o 1 是插入排序 o n 2n n2 o n2n n2 是 o 1 是歸併排序 o n lo gn nlogn nlogn ...