前言
如果你发明了一个算法,想知道这个算法的快慢程度,怎么办呢?
上机运行一下?显然不合适。。。
计算机科学家提出了“时间复杂度”这个概念。
那么,该怎么理解这个“时间复杂度”概念呢?尤其是O(n)这样的符号。
正文
思考一下生活中的一些场景,并估计时间:
1、打个哈欠 — 几秒钟
2、烧一壶水 — 几分钟
3、睡上一觉 — 几小时
4、完成项目 — 几个月
5、飞出银河系 — 几光年
那么,我们常见的时间复杂度的表示O(logn)、O(n)、O(n2)也可以类比上面的时间估算,其中大O就是“几”,括号里面的n的表达式可以理解为时间单位。
总结
O理解为“几”,括号中的表达式理解为时间单位。