最近在刷leetcode。题目有各种时间复杂度和空间复杂度的要求。
导致很多函数都不太敢用了,于是总结一下常见的函数时间复杂度。
列表(List):
- list.copy():平均和最坏时间复杂度都是O ( n )
- list.append(obj):平均和最坏时间复杂度都是O ( 1 )
- list.pop(index):index为-1的时候 O(1)
-index为[o,len(n)] 内 O(n) - get 、set 平均和最坏时间复杂度都是O ( 1 )
- list.remove(obj):平均和最坏时间复杂度都是O ( n )
- list.extend(seq):平均和最坏时间复杂度都是O ( n )
- list.sort():平均和最坏时间复杂度都是O ( n log n )
- x in s:平均时间复杂度O ( n )
- min(s), max(s):时间复杂度为O ( n )