读书人

求时间复杂度题解决办法

发布时间: 2013-01-12 16:25:03 作者: rapoo

求时间复杂度题


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)

读书人网 >软件架构设计

热点推荐