大O表示法
#几种大O表示法
O(log n) 对数时间
O(n) 线性时间
O(n*log n) 一种速度比较快的排序算法
O(n²) 一种速度较慢的排序算法
O(n!) 一种非常慢的算法,比如旅行商问题
#大O表示法的特点
1.表示说的是最糟的情形
2.算法的速度不是值运行时间,而是运算操作数的增速
数组和列表
#数组和列表的特点
数组:数组中每个元素包括该元素的值和下表。
列表:列表中的每个元素包括该元素的值和下一个元素的地址。
数组和列表的大O表示法的运行时间
数组 | 列表 | |
---|---|---|
读取 | O(1) | O(n) |
插入 | O(n) | O(1) |
删除 | O(1)+O(n) | O(n)+O(1) |
递归和迭代
#递归
递归是在函数中调用自身的函数的方式,递归函数的两个条件,一个是基线条件(函数不再调用自己),一个是递归条件(函数调用自己)
#迭代
对枚举类型字符类型每个数值进行计算