《数据结构(C语言版)》-01-绪论-相关代码分析

例1:算法时间复杂度01—循环

void loveYou(int n){	//n为问题规模
	int i=1;			//爱你的程度,初始值 
	while(i<=n){
		i++;			//每次+1 
		printf("I Love You %d\n",i);
	}
	printf("I Love You More Than %d\n",n);
}
int main(){
	loveYou(3000);
}

例2:算法时间复杂度02—嵌套循环

void loveYou(int n){		//n为问题规模 
	int i=1;				//爱你的程度,初始值 
	while(i<=n){			//外循环执行n次 
		i++;				//每次+1 
		printf("I Love You %d\n",i);
		for (int j=1;j<=n;j++){		//嵌套循环 
			printf("I am Iron Man\n");	//内层循环执行n的平方次 
		}
	}
	printf("I Love You More Than %d\n",n);
}

例3:算法时间复杂度03—指数递增

void loveYou(int n){	//n为问题规模 
	int i=1;			//爱你的程度,初始化 
	while(i<=n){
		i=i*2;			//每次翻倍 
		printf("I Love You %d\n",i);
	}
	printf("I Love You More Than %d\n",n);
}

例4:算法时间复杂度04—搜索数字型

void loveYou(int flag[],int n){		//n为问题规模 
	printf("I Am Iron Man\n");
	for(int i=0;i<n;i++){			//从第一个元素开始查找 
		if(flag[i]==n){				//找到元素n 
			printf("I Love You %d\n",n);
			break;					//找到后立即跳出循环 
		}
	}
}

例1:算法空间复杂度—递归

void loveYou(int n){	//n为问题规模 
	int a,b,c;			//声明一系列局部变量 
	//.. 省略代码
	if(n>1){
		loveYou(n-1);
	} 
	printf("I Love You %d\n",n);
}
int main(){
	loveYou(5);
}

 

 


版权声明:本文为qq_42603841原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。