只是一个量级的范畴概念
描述对象:程序运行本身消耗的时间,程序执行的时间成本的一种量的划分。时间复杂度!
划分的是一个区域范畴!所以,所有的算法的时间复杂度,都是那几个范畴里,表示的话就是那几个值。
值
跟数据n的值有关!同样的程序,要对几个数据进行处理,换成处理一个亿的数据处理,那是不相同的。
O(1)常量 ,跟n木得关系,总是很快执行完。
O(log(n))很快,几乎就是常量的效率了。二分法就是个例子!
O(n) 不快不慢,随着n的变大,效率变慢!线性!
O(nlog(n)) 比较慢了,比如一次遍历做二分法。
O(n^2) 慢
O(2^n) 算法有问题的区域!
意义
针对不同的数量级,有不同的最优算法来针对。科学就是这个意思!研究对象的影响因素就是数据的数量级,针对数量级,找到最优的算法逻辑,这是大O表示法的存在意义。它只是划分出来了区域了,而不是具体的值。