一 、大O表示法
1.1 分析算法时的几种情况:
最优时间复杂度,算法完成工作最少需要多少基本操作
最坏时间复杂度,算法完成工作最多需要多少基本操作
平均时间复杂度,算法完成工作平均需要多少基本操作
1.2 时间复杂度的几条基本计算规则
1. 基本操作,只有常数项,O(1)
2. 顺序结构,时间复杂度按照加法进行
3. 循环结构,时间复杂度按照乘法进行
4. 分支结构,时间复杂度取最大值
5. 只关注最高次项
6. 复杂度一般指最坏
1.3 常见的时间复杂度
1.4 常见时间复杂度之间的关系
注:图片来自bilibili网课截图
1.5 python 内置类型性能分析
- timieit模块测试python代码的执行速度
class timeit.Timer(stmt = 'pass',setup = 'pass',timer=<timer function>)
'''
Timer 是测试孝端代码的类
stmt 是测试的代码语句
setup 是运行代码时需要的设置
timer 是一个定时器函数,与平台有关
'''
timeit.Timer.timeit(number=100000)
# 测试N次,返回执行代码的平均耗时,float的秒计数