1.二分算法(二分查找)
(1)有序列表
(2)O(log2 N)
(2)100个数据需要查找7次,10亿个数据需要30次
2.算法衡量性能的方式:减少运行时间或占用空间。(时间和空间)
3.线性时间:O(n)----例如:遍历查找
4.对数时间:O(log2 N)---例如:二分查找
5.大O表示法,并非以秒为单位的速度。是指比较操作数,指出算法运行时间的增速。
6.一张纸话16个格子:解法一,画16次;解法二,对折4次(二分方式);
7. 5种大O运行时间:(快到慢)
O(log2 n),对数时间,二分查找;
O(n),线性时间,简单查找;
O(n*log2 n),快速查找,速度较快的排序算法;
O(n2)--n的平方,选择排序,速度较慢的排序算法;
O(n!)--n的阶乘,旅行商问题,非常慢的算法;
小结:
二分查找的速度比简单查找快的多;
O(log2 n)比O(n)快。需要搜索的元素越多,前者比后者就快的越多。
算法运行时间并不以秒为单位。
算法运行时间是以其增速的角度度量的。
算法运行时间用大O表示法表示。