算法与数据结构(一)

时间复杂度的几条基本计算规则



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]# print(l)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)) # 100 表示timer1里面的函数执行的次数
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
[] = [] + [] 的时间最长,尽量避免使用这种方法
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
