首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

一个非常简单的时间复杂度的有关问题

2013-07-01 
一个非常简单的时间复杂度的问题for(int jnjij--)a[j]a[j-1]//n和i都是int类型的变量且ni我认为时

一个非常简单的时间复杂度的问题
for(int j=n;j>i;j--)
a[j]=a[j-1];//n和i都是int类型的变量且n>i
我认为时间复杂度是O(n-i),书上说是O(n-i+1)
[解决办法]
O(n-i)和O(n-i+1)是一样的。
[解决办法]
地址没有算。
[解决办法]
复杂度和系数无关
[解决办法]
按数量级递增排列,常见的时间复杂度有:
常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),
平方阶O(n2),立方阶O(n3),...,
k次方阶O(nk),指数阶O(2n)。
随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

所以O(n-i),O(n-i+1) 都是线性阶的。

热点排行