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

求时间复杂度题,该如何解决

2012-10-23 
求时间复杂度题⑴Sum1( int n ){int p1, sum0, m for (m1 mn m++){p*m sum+p }return (sum)

求时间复杂度题


Sum1( int n )
{ int p=1, sum=0, m ;
for (m=1; m<=n; m++)
{ p*=m ; sum+=p ; }
return (sum) ;
}

Sum2( int n )
{ int sum=0, m, t ;
for (m=1; m<=n; m++)
{ p=1 ; 
for (t=1; t<=m; t++) p*=t ;
sum+=p ; 
}
return (sum) ;
}
⑶ 递归函数
fact( int n )
{ if (n<=1) return(1) ;
else return( n*fact(n-1)) ;
}

[解决办法]
第一,第三个的时间复杂度都是O(n)
第二个是O(n^2)
[解决办法]

探讨

第二个究竟是多少呢?我糊涂了

[解决办法]
系数要去掉,第二个是O(n^2)


探讨

第一个 O(n)
第二个 O(n^2/2)
第三个 O(n)

热点排行