算法
概念
算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个特定的任务。
算法是独立存在的解决问题的一种思想和方法
五大特性
输入、输出、可行性、有穷性、
时间复杂度
假定计算机执行算法每一个基本操作时间是固定的一个时间单位,那么有多少个操作就花费多少时间单位
大O记法
最坏时间复杂度
算法完成工作最多需要多少基本操作,是我们最主要关注的情况
几条基本计算规则
1,基本操作,常数项,默认为O(1)
2,顺序结构,按照加法
3,循环结构,按照乘法
4,分支结构,取最大值
计算算法的效率,只关注最高次项,其他次项和常数项可以忽略
分析的时间复杂度往往是最坏时间复杂度
常见时间复杂度
函数不算一个基本步骤,要分析函数体
timeit模块
class.timeit.Timer(stmt,setup,timer)
Timer:测试小段代码执行速度的类
stmt:要测试的代码语句
setup:运行代码需要的设置
timer:定时器函数 默认的
timeit.Timer.timeit(number=1000000)
测试函数
python列表类型不同操作的时间效率