美文网首页
02_常见函数的时间复杂度

02_常见函数的时间复杂度

作者: 一把猫粮 | 来源:发表于2018-07-16 11:25 被阅读0次

很多函数都有自己的很多方法,其中有些方法的功能类似,但是其复杂度有时却大不相同;比如在列表函数中:
append() 和 insert()都是对元素的插入,但是头插和尾插的复杂度差别很大;
+ 和 extent()都是对列表的整体扩充,但是 + 执行的速度...


本节我们将引入一个新模块 timeit ,其功能是来测试一小段Python代码的执行速度。

1、timeit
class timeit.Timer(stmt='pass', setup='pass',timer=<timer function>)

a> Timer 是测量小段代码执行速度的类
b> stmt 是要测试的代码语句(statment), 字符串类型,
c> setup 是运行代码时需要的设置 ,字符串类型, 就是从 _main_ 引入需要的是的方法名
d> timer 参数是一个定时器函数, 与平台有关, 不用去管
e> timeit.Timer.timeit(numer=1000000)
f> numer->测算次数, 返回平均耗时, 一个float类型的秒数

部分测试示例
测试结果
2、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

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

相关文章

  • 02_常见函数的时间复杂度

    很多函数都有自己的很多方法,其中有些方法的功能类似,但是其复杂度有时却大不相同;比如在列表函数中:append()...

  • 常用算法Big-O复杂度介绍(时间和空间复杂度)

    常用函数Big-O示意图 常见数据结构操作时间、空间复杂度 常见排序算法时间、空间复杂度

  • 常见算法分析

    1. 复杂度定义及常见量级 复杂度分为时间复杂度和空间复杂度。 以下面的函数为例: 我们先来确定这个函数运行到结束...

  • 数据结构和算法

    01_数据结构和算法绪论.mp4 02_谈谈算法.mp4 03_时间复杂度和空间复杂度.mp4 04_时间复杂度和...

  • 常见数据结构及排序算法时间空间复杂度

    时间复杂度趋势变化 常见数据结构复杂度 常见排序算法复杂度

  • 时间复杂度&空间复杂度

    算法的时间复杂度和空间复杂度统称为算法的复杂度。 时间复杂度 时间复杂度实际上是一个函数,该函数计算的是执行基本操...

  • c#七种常用排序算法

    一、常见排序算法一览: 时间复杂度: 是一个函数,它定量描述了该算法的运行时间。 空间复杂度:一个算法在运行过程中...

  • 算法训练营-第一周-数组链表

    一.时间复杂度&空间复杂度 常见的时间复杂度 常量 O(1) 对数 O(logn) 线性 O(n...

  • 复杂度分析

    为什么需要复杂度分析? 大O复杂度表示法 时间复杂度分析 常见复杂度量级 复杂度量级简单说明 空间复杂度 时间复杂...

  • 常用排序算法时间复杂度统计

    什么是时间复杂度 时间复杂度:算法的时间复杂度是一个函数,它定量的描述了该算法的运行时间. 最坏时间复杂度:相同大...

网友评论

      本文标题:02_常见函数的时间复杂度

      本文链接:https://www.haomeiwen.com/subject/zzivpftx.html