算法与数据结构(一)

在这里插入图片描述
时间复杂度的几条基本计算规则
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
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

[] = [] + [] 的时间最长,尽量避免使用这种方法

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值