常见函数的时间复杂度

Posted zhongmin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见函数的时间复杂度相关的知识,希望对你有一定的参考价值。

【list】的内置函数时间复杂度
方法复杂度简介
index[x] O(1) 索引
index assignment O(1) 索引赋值
append O(1) 尾部追加
pop() O(1) 尾部弹出
pop(i) O(n) 指定位置弹出 n列表长度, 最坏时间复杂度
insert(i, item) O(n) 指定位置添加
del operator O(n) 删除, 代表一个一个元素去清空
iteration O(n) 迭代
contains(in) O(n) 看谁是否在列表中, 需要遍历
get slice[x:y] O(k) 取切片, 从x取到y, 一次定位到x, 然后取到y ,x和y之间有多少就是k
del slice O(n) 删除切片 删除位置之后, 后面的元素都需要往前移动
set slice O(k) 设置切片, li[0:3] = [1, 2, 3, 4]k是补充的东西数量
reverse O(n) 置返
concatenate O(k) 代表使用的+, 把两个列表加到一起, k是第二个列表中的元素
sort O(nlogn) 排序
multiply O(nk) 相乘 li=[1, 2] -> n li * 10 -> k

【dict】 的内置函数时间复杂度
方法复杂度简介
copy O(n) 复制
get item O(1)
set item O(1) 设置
delete item O(1) 删除键
contains(in) O(1) 包含
iteration O(n) 迭代



以上是关于常见函数的时间复杂度的主要内容,如果未能解决你的问题,请参考以下文章

PHP常见算法

第89天:NumPy 排序和筛选函数

第89天:NumPy 排序和筛选函数

算法时间复杂度

第六课算法效率的度量

[算法]时间复杂度