24-5-3时间复杂度计算+排序方法汇总

时间复杂度

三种方法求递归算法的时间复杂度(递推,master定理,递归树)_递归时间复杂度-CSDN博客

排序

for(int i=n;i>=1;--i){
	for(int j=1;j<=n-1;j++){
		
	}
}//冒泡
for(int i=n;i>=1;--i){
	
	for(int j=1;j<=n;j++){
		
	}
}//选择
for(int i=2;i<=n;++i){
	
	for(int j=i;j>1&val<a[j-1];--j){
		
	}
	
}//插入
void quicksort(int a[],int l,int r){
	if(l<r){
		int mid=partition(a,l,r);
		quicksort(a,mid+1,r);
		quicksort(a,l,mid-1);
	}
}
int partition(int a[],int l,int r){
	int pivot=a[r];
	int i=l,j=r;
	while(i<j){
		while(a[i]<=pivot&&i<j)i++;
		while(a[j]>=pivot&&i<j)j--;
		if(i<j)swap(a[i],a[j]);
		else swap(a[i],a[r]);
	}//i=j时,两边区域分好,继续
	return i;
}//快速排序
void mergesort(int a[],int l,int r){
	if(l==r)return;
	int mid=(l+r)/2;
	mergesort(a,l,mid);
	mergesort(a,mid+1,r);
	int pl=l,pb=l,pr=mid+1;
	while(pl<=mid||pr<=r){
		if(pl>mid)b[pb++]=a[pr++];
		if(pr>r)b[pb++]=a[pl++];
		else{
			if(a[pl]<a[pr])b[pb++]=a[pl++];
			else b[pb++]=a[pr++];
		}
	}
	for(int i=1;i<=n;i++)a[i]=b[i];
}//归并排序
for(int i=1;i<=n;i++){
	bucket[a[i]]++;
}
for(int i=0;i<=maxvalue;i++){
	for(int j=1;j<=bucket[i];j++){
		
	}
}//桶排序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值