3、时间复杂度和空间复杂度
算法时间复杂度的定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。
关键:执行次数=时间
一般情况下,随着输入规模n的增大,T(n)增长最慢的算法为最优算法
如何分析一个算法的时间复杂度?
(1) 用常数1取代运行时间中的所有加法常数
(2) 在修改后的运行次数函数中,只保留最高阶项
(3) 如果最高阶项存在且不是1,则去除与这个项相乘的常数
(4) 得到的最后结果就是大O阶
四、函数调用的时间复杂度分析
举例: