c++竞赛笔记(1)

加法规则:T(n,m)=T1(n)+T2(m)=0(max{f(n),g(m)}

乘法规则:T(n,m)=T1(n)*T2(m)=0(max{f(n)*g(m)}

比较规则:0(1)<0(log2n)<0(n)<0(nlog2n)<0(n^2)<0(n^3)<……<0(n^k)<0(2^n)<0(n!)<0(n^n)

算法计算时间递推关系式:

T(n)=2T(\frac{n}{4})+\sqrt{n}

T(1)=1

最坏时间平均时间复杂度稳定性空间复杂度
插入排序0(_{n^2})0(_{n^2})Vo(1)
选择排序0(_{n^2})0(_{n^2})Xo(1)
冒泡排序0(_{n^2})0(_{n^2})Vo(1)
希尔排序0(_{n^s}),取决于增量序列0(nlog2n)Xo(1)
快速排序0(_{n^2})0(nlog2n)X0(log2n)
堆排序0(nlog2n)0(nlog2n)Xo(1)
归并排序0(nlog2n)0(nlog2n)Vo(1)

 string类型:

string schar s[100]
s.size()strlen(s)
s[i]s[i]
s>s1  <  ==strcmp(s,s1)
s1=sstrcpy(s1,s)
+  +=strcat(s,s1)

 struct结构体:

struct x{

    string a;

    int b;

    float c;

}

 

 埃氏筛:

void zhi(int n){
        memset(vis,0,sizeof(vis));
        vis[1]=1;
        for(int i=2;i<=n;i++){
            if(vis[i])
                continue;
            cout<<i<<endl;
            for(int j-1;j<=n;j++)
                vis[i*j]=1;
        }
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值