其他分享
首页 > 其他分享> > 时间复杂度与空间复杂度

时间复杂度与空间复杂度

作者:互联网

时间复杂度的定义

算法时间复杂度的定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复度,也就是算法的时间量度记作: T(n)= 0(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。

推到大O阶方法

用常数1取代运行时间中的所有加法常数。 如:5n^2+6n+8变为5n+6n+1。 在修改后的运行次数函数中,只保留最高阶项。 如:5n^2+6n+1变为5*n^2。

如果最高阶项存在且不是1,则去除与这个项相乘的常数。 如5*n^2变为 n^2。 得到的最后结果就是大0阶。

常见的时间复杂度

常用的时间复杂度所耗费的时间从小到大依次是 0(1) < 0(logn) < (n) < 0(nlogn) <0(n^2) < 0(8^3) < 0(2^n) < 0(n!) <0(n^n)

最坏情况与平均情况

算法的空间复杂度

通常,我们都是用”时间复杂度”来指运行时间的需求,用“空间复杂度”指空间需求。当直接要让我们求“复杂度”时,通常指的是时间复杂度。

标签:复杂度,6n,算法,5n,时间,空间,运行
来源: https://blog.csdn.net/qq_52271593/article/details/119083008