算法的时间复杂度与空间复杂度各是什么意思

再线等............

第1个回答  2008-08-07
是说明一个程序根据其数据n的规模大小 所使用的大致时间和空间
说白了 就是表示 如果随着n的增长 时间或空间会以什么样的方式进行增长


for(int i = 0; i < n;++i)
;
这个循环执行n次 所以时间复杂度是O(n)

for(int i = 0; i< n;++i)
{
for(int j = 0; j< n;++j)
;
}
这嵌套的两个循环 而且都执行n次
那么它的时间复杂度就是 O(n^2)

时间复杂度只能大概的表示所用的时间
而一些基本步骤 所运行的时间不同 我们无法计算 所以省略


for(int i = 0;i < n;++i)
a = b;

for(int i = 0;i < n;++i)
;
这个运行的时间当然是第二个快 但是他们的时间复杂度都是 O(n)
判断时间复杂度看循环本回答被提问者采纳
第2个回答  2008-08-07
《计算方法》中有相关的详细信息。本质上,不论时间复杂度还是空间复杂度都反应的是问题本身的复杂度。一个计算要不就需要很大的存储空间来减少计算时间;要不就需要较长的计算时间来节约存储空间。

时间或空间复杂度也用来衡量各种计算方法对于不同的计算要求的表现。比如,不同的计算方法其实在时空复杂度上是相同的。

关于具体的时间复杂度与空间复杂度是如何量化的,如何计算,如何应用还是仔细看看教材吧。
相似回答