算法:就是问题的解决思路
算法的特征:输入、输出、有穷性、确定性、可行性
大O表示法:最接近表示的特征函数的表示方法(渐进函数):O(n^7)
分析算法要考虑:最优时间复杂度、平均时间复杂度、最坏(最长)时间复杂
时间复杂度的几条基本计算规则
1. 基本操作,即只有常数项,认为其时间复杂度为O(1)
2. 顺序结构,时间复杂度按加法进行计算
3. 循环结构,时间复杂度按乘法进行计算
4. 分支结构,时间复杂度取最大值
5. 判断一个算法的效率时,往往只需要关注操作数量的最高次项,其它次要项和常数项可以忽略
6. 在没有特殊说明时,我们所分析的算法的时间复杂度都是指最坏时间复杂度
空间复杂度
类似于时间复杂度的讨论,一个算法的空间复杂度S(n)定义为该算法所耗费的存储空间,它也是问题规模n的函数。渐近空间复杂度也常常简称为空间复杂度。
空间复杂度(SpaceComplexity)是对一个算法在运行过程中临时占用存储空间大小的量度。
算法的时间复杂度和空间复杂度合称为算法的复杂度。
python列表类型操作时间复杂度:列表本身就是一个容器,自带方法,在操作的时候,不同方法,执行时间是不一样的。