当前位置:   article > 正文

栈与时间复杂度_栈的时间复杂度

栈的时间复杂度

1、栈

(1)栈就像一个开口得箱子,先入后出,后入先出。

(2)大小为:1M.

(3)栈顶,地址低;栈底,地址高;

(4)递归时间复杂度太大,容易超出栈得大小

2、计时函数clock

调用计时函数时,先调用头文件

  1. #include<time.h>
  2. clock_t c1=clock();//以毫秒计算,数据类型为长整型。
  3. printf("%d\n",Fibon(3));//2
  4. clock_t c2=clock();
  5. printf("%d\n",c2-c1);//求时间差
3、时间复杂度

  1. for(int i=1;i<=n;i++)
  2. for(int j=1;i<=n;j++)
   {
	c[i][j]=0;
   }
每条语句为执行一次,总执行次数为:(1+n+n)+[n*(1+n+n)]+(n*n)=3*n^2+3*n+1

(1)只保留阶数最高的项,因为 阶数最高的项对结果影响最大

(2)去掉系数。

所以时间复杂度为o(n^2),其中o(1)为常数。

  1. bool Fun(int n)//功能判断是否为素数,时间复杂度为o(n^0.5)
  2. {
  3. int i=2;
  4. while((n%i)!=0 && i*1.0<sqrtl(n))i++;
  5. if(i*1.0>sqrtl(n))
  6. return true;
  7. else
  8. return false;
  9. }





声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号