生活随笔
收集整理的這篇文章主要介紹了
算法与数据结构(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
時間復雜度的幾條基本計算規則
python內置類型性能分析
from timeit
import Timer
def t1(n
):l
= []for i
in range(n
):l
.append
(i
)def t2(n
):l
= []for i
in range(n
):l
+= [i
]def t3(n
):l
= []for i
in range(n
):l
= l
+ [i
]def t4(n
):l
= []for i
in range(n
):l
.insert
(0, i
)def t5(n
):l
= []for i
in range(n
):l
.extend
([i
])def t6(n
):l
= list(range(n
))def t7(n
):l
= [i
for i
in range(n
)]timer1
= Timer
(stmt
='t1(10000)', setup
='from __main__ import t1')
print('[].append', timer1
.timeit
(100))
timer2
= Timer
(stmt
='t2(10000)', setup
='from __main__ import t2')
print('[]+=', timer2
.timeit
(100))
timer3
= Timer
(stmt
='t3(10000)', setup
='from __main__ import t3')
print('[]+', timer3
.timeit
(100))
timer4
= Timer
(stmt
='t4(10000)', setup
='from __main__ import t4')
print('[]insert()', timer4
.timeit
(100))
timer5
= Timer
(stmt
='t5(10000)', setup
='from __main__ import t5')
print('[].extend()', timer5
.timeit
(100))
timer6
= Timer
(stmt
='t6(10000)', setup
='from __main__ import t6')
print('list(range)', timer6
.timeit
(100))
timer7
= Timer
(stmt
='t7(10000)', setup
='from __main__ import t7')
print('列表表達式', timer7
.timeit
(100))
n = 10000,循環100次的結果
[].append
0.09899567431773199
[]+= 0.13608293246361777
[]+ 18.673876795031823
[]insert
() 2.3175882919989483
[].extend
() 0.16939992310249252
list(range) 0.027055054353276375
列表表達式
0.04889544702006532
[] = [] + [] 的時間最長,盡量避免使用這種方法
總結
以上是生活随笔為你收集整理的算法与数据结构(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。