一 定义:
通常会估计算法的操作单元数量,来代表程序消耗的时间,这里默认CPU的每个单元运行消耗的时间都是相同的。假设算法的问题规模为n,那么操作单元数量便用函数f(n)来表示;随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称作为算法的渐近时间复杂度,简称时间复杂度,记为 O(f(n))。
二 作用:
时间复杂度就是用来方便开发者估算出程序的运行时间。并对程序进行简易规纳
三 简化:
1、去掉运行时间中的加法常数项 。(因为常数项并不会因为n的增大而增加计算机的操作次数)
2、去掉常数系数 。
3、只保留保留最高项 去掉数量级小一级的n 。(因为n^2 的数据规模远大于 n)
注:
不是时间复杂越低的越好,要考虑数据规模。