欢迎光临散文网 会员登陆 & 注册

看雪IDA特训营

2023-08-23 10:09 作者:bili_67158895267  | 我要投稿

常数阶

//1+1+1 = 3void testSum1(int n){    int sum = 0;                //执行1次    sum = (1+n)*n/2;            //执行1次    printf("testSum2:%d\n",sum);//执行1次}

这个算法的运行次数函数是f(n) = 3;根据我们大O时间复杂度表示为O(1);

//1+1+1+1+1+1+1 = 7void testSum2(int n){    int sum = 0;                //执行1次    sum = (1+n)*n/2;            //执行1次    sum = (1+n)*n/2;            //执行1次    sum = (1+n)*n/2;            //执行1次    sum = (1+n)*n/2;            //执行1次    sum = (1+n)*n/2;            //执行1次    printf("testSum2:%d\n",sum);//执行1次}


事实上,无论常数n是多少.以上的代码执行3次还是7次的差异,执行时间恒定.我们的都称之为具有O(1)的时间复杂度.又称为"常数阶";


看雪IDA特训营的评论 (共 条)

分享到微博请遵守国家法律