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

求时间复杂度题解决办法

2013-01-12 
求时间复杂度题⑴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^2)


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

热点排行