赞
踩
此页面记录了当前CPython中各种操作的时间复杂度(又名“Big O”或“大欧”)。其他Python实现(或CPython的旧版本或仍在开发版本)可能具有略微不同的性能特征。但是, 通常可以安全地假设它们的速度不超过O(log n)。 通常, 'n’是容器中当前元素的数量。'k’是参数的值或参数中的元素数。
lst = list(range(10,20))
l1 = list(range(100,105))
操作 | 时间复杂度 | 描述 |
---|---|---|
lst[2] | O(1) | 访问元素 |
lst.pop() | O(1) | 弹出最后一个值 |
lst.append(l1) | O(1) | 在末尾添加元素 |
lst.extend(l1) | O(K) | 在末尾逐个添加元素 |
lst.clear() | O(1) | 清空list |
lst.copy() | O(N) | 列表拷贝 |
lst.count(15) | O(N) | 元素计数 |
lst.remove(15) | O(N) | 删除一个元素 |
lst.reverse() | O(N) | 反序 |
lst.sort() | O(N*log(N)) | 排序 |
lst.insert(1,200) | O(N) | 在某一位置插入元素 |
del lst[0] | O(N) | 删除某个位置的元素 |
lst.index(15) | O(N) | 查找元素,并返回元素位置 |
bisect.bisect_left(lst, 15) | O(log(N)) | 有序列表使用bisect查找元素 |
tuple因为不可写,因此操作相对较少
tpl = tuple(range(10))
操作 | 时间复杂度 | 描述 |
---|---|---|
tpl[2] | O(1) | 访问元素 |
tpl.count(2) | O(N) | 元素计数 |
tpl.index(2) | O(N) | 查找元素,并返回元素位置 |
ss1 = set(range(10))
ss2 = set(range(5,15))
操作 | 时间复杂度 | 描述 |
---|---|---|
5 in ss1 | O(1) | 判断元素是否在set中 |
ss1 | ss2 | O(len(ss1)+len(ss2)) |
ss1 & ss2 | O(len(s)*len(t)) | 取交集,等同于ss1.intersection(ss2) |
ss1 - ss2 | O(len(ss1)) | 取差集,等同于ss1.difference(ss2) |
ss1 ^ ss2 | O(len(ss1)*len(ss2)) | 取异或集,等同于 |
ss1.add(11) | O(1) | 增加元素 |
ss1.pop() | O(1) | 弹出一个元素 |
ss1.remove(5) | O(1) | 删除指定元素 |
dd = {'a':10,'b':20,'c':30,'d':40}
操作 | 时间复杂度 | 描述 |
---|---|---|
dd[‘e’] = 50 | O(1) | 插入元素 |
dd[‘a’] | O(1) | 访问元素,等同于dd.get(‘a’) |
del dd[‘a’] | O(1) | 删除元素 |
dd[‘b’] = 100 | O(1) | 修改元素 |
dd.pop(‘b’) | O(1) | 弹出一个元素 |
dd.clear() | O(1) | 清空字典 |
双端队列需要我们手动导入后才能使用,也是Python中一种常用的类型
from collections import deque
deq = deque(range(10))
ll = list(range(10))
操作 | 时间复杂度 | 描述 |
---|---|---|
deq.pop() | O(1) | 弹出最右侧的元素 |
deq.popleft() | O(1) | 弹出最左侧的元素 |
deq.append(1) | O(1) | 在右侧增加一个元素 |
deq.appendleft(1) | O(1) | 在左侧增加一个元素 |
deq.extend(ll) | O(K) | 在右侧逐个添加元素 |
deq.extendleft(ll) | O(K) | 在左侧逐个添加元素 |
deq.rotate(K) | O(K) | 旋转 |
deq.remove(5) | O(N) | 删除指定元素 |
deq[0] | O(1) | 访问第一个元素 |
deq[N-1] | O(1) | 访问最后一个元素 |
deq[N/2] | O(N) | 访问中间元素 |
参考链接:https://wiki.python.org/moin/TimeComplexity
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。