首页 » 技术分享 » 算法时间复杂度O(1)

算法时间复杂度O(1)

 

时间复杂度是一个函数,它定量描述了该算法的运行时间.

用通俗的话来描述,我们假设n=1所需的时间为1秒。那么当n = 10,000时。

O(1)的算法需要1秒执行完毕。

O(n)的算法需要10,000秒 ≈ 2.7小时 执行完毕。

O(n2)的算法需要100,000,000秒 ≈ 3.17年 执行完毕。

O(n!)的算法需要XXXXXXXX(系统的计算器已经算不出来了)。

可见算法的时间复杂度影响有多大。

所以O(1)和O(n)差了2.7小时,区别显而易见。

O(1)复杂度是与输入数据无关,O(n)是与输入数据成正比。
对于程序A,for(int i=0;i<1000;i++),当输入任意的n时循环次数均为1000,复杂度为O(1);
对于程序B,for(int i=0;i<n;i++),当输入任意的n时循环次数为n,复杂度为O(n)。

转载自原文链接, 如需删除请联系管理员。

原文链接:算法时间复杂度O(1),转载请注明来源!

0