算法的时间复杂度计算问题求详解时间复杂度的运算,不要复制的,请以下列例题详细讲解下,最好能将每个步骤都说明白点例1void fun1(int n){int i=1,k=100;while(i

问题描述:

算法的时间复杂度计算问题
求详解时间复杂度的运算,不要复制的,请以下列例题详细讲解下,最好能将每个步骤都说明白点
例1
void fun1(int n)
{
int i=1,k=100;
while(i

第一题:
int i=1,k=100这条语句算法步数是2步,执行频率是1;
循环中, k=k+1;这条语句每次算法步数是1;执行频率是n/2-1; i+=2这条语句每次算法步数是1;执行频率是n/2-1;
所以算法复杂度为1*(n/2-1)+1*(n/2-1)+2=n=o(n);