【算法日记】2.算法中的大O符号
大O符号是一种算法复杂度的相对表示方式。
1.大O表示算法的操作数,表示出算法运行的快慢
2.大O表示法指出了最糟糕情况下的运行时间,例如 简单查找的运行时间O(n),意味着在最糟糕的情况下,必须运行n次才能找到结果。O(n)就是算法的一个保证-----运行时间不可能超过O(n)
3.常见的一些大O运行时间
- O(logn) 对数时间。这杨的算法包括二分查找
- O(n) 线性时间,这样的算法包括简单查找
- O(n*logn) 这样的算法包括快速排序
- O(n²) 这样的算法包括 选择排序--一种较慢的排序算法
- O(n!) 一种非常慢的排序算法(旅行商问题的解决方案)
4.算法的速度指的并非时间,是指操作数的增速