当前位置: 首页 > news >正文

响应式企业展示型网站杭州关键词排名工具

响应式企业展示型网站,杭州关键词排名工具,宁波seo外包服务,镇江网络营销外包空间复杂度 空间复杂度主要是衡量一个算法运行所需要的额外空间,在计算机发展早期,计算机的储存容量很小,所以空间复杂度是很重要的。但是经过计算机行业的迅速发展,计算机的容量已经不再是问题了,所以如今已经不再需…

空间复杂度

空间复杂度主要是衡量一个算法运行所需要的额外空间,在计算机发展早期,计算机的储存容量很小,所以空间复杂度是很重要的。但是经过计算机行业的迅速发展,计算机的容量已经不再是问题了,所以如今已经不再需要特别关注一个算法的空间复杂度。

空间复杂度也是一个数学表达式,是对一个算法的运行过程中临时占用储存空间大小的量度。

空间复杂度不是程序占用了多少bytes的空间,而是变量个数。空间复杂度计算也是使用大O渐进表示法。

函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。

例1:

void Bubblesort(int* a, int sz)
{for(int i = 0; i < sz-1; i++){int exchange = 0;for(int j = 0; j < sz-1-i; j++){if(a[j] > a[j+1]){int tmp = a[j];a[j] = a[j+1];a[j+1] = tmp;exchange = 1;}}if(exchange == 0)break;}
}

冒泡排序,只使用了常数个空间,所以空间复杂度为 O(1);

例2:

int* Fib(int n)
{if(n == 0)return NULL;int* fibarr = (int*)malloc(sizeof(int)*(n+1));fibarr[0] = 0;fibarr[1] = 1;for(int i = 2; i <= n; i++){fibarr[i] = fibarr[i-1] + fibarr[i-2];}return fibarr;
}

fibarr开辟了N个int类型的空间,所以空间复杂度为O(N)

例3:

int fac(int n)
{if(n == 0)return 1;return fac(n-1)*n;
}

再fac函数中调用了N次fac函数,递归了N次,开辟了N个栈帧,每个栈使用了常数个空间,所以空间复杂度O(N)

例4:

请回答fib函数的空间复杂度是多少?

int fib(int n)
{if(n < 3)return 1;return fib(n-1) + fib(n-2);
}

                        A. O(1)        B.O(N)        C.O(N^2)        D.O(2^N)

                                                           .

                                                           .

                                                           .

                                                           .                                                           

                                                           .

                                                           .

                                                           .

                                                           .

                                                           .

                                                           .

                                                           .

                                                           .

                                                           .

                                                           .

答案:O(N)

对于 fib(n),递归调用的最大深度取决于 n,因为每次递归都会对 n−1或 n−2进行调用。

尽管函数中有很多重复计算(导致时间复杂度是指数级的),但调用栈的最大深度只与输入 n 的大小成线性关系。

比如调用 fib(n),最深的递归路径是 fib(n) → fib(n-1) → fib(n-2) → ... → fib(1)

每次递归调用都需要在栈上分配空间。最大栈深度是递归树的高度。在这种实现方式下,递归树的高度为 O(n)。

http://www.15wanjia.com/news/53927.html

相关文章:

  • 用jsp做的网站常州免费网站建站模板
  • dw代码做网站惠州seo优化服务
  • wordpress搬家后台还是老网站站长权重
  • 广州市网站建设公司广州优化疫情防控举措
  • 外贸五金网站建设下载班级优化大师app
  • 有经验的武进网站建设网络营销的常用工具
  • 网站开发实验室搜索引擎营销就是seo
  • 网站域名怎么用友情链接代码模板
  • 做决定网站做seo要投入什么
  • 移动应用开发专业就业前景南京怎样优化关键词排名
  • 同一个服务器做两个网站网络营销有什么岗位
  • 大型企业网站建设方案万网域名查询工具
  • 网站建设的经费估算长尾关键词是什么
  • 自动跳转短网址seo查询平台
  • 洛阳做网站的公司有哪些新产品推广方案怎么写
  • wordpress 的分类目录广州seo招聘
  • 廊坊营销型网站建设网站点击软件排名
  • 部门网站建设方案网页推广怎么收取费用
  • 做网站必须有框架么什么是百度竞价
  • 不懂网站建设.怎么销售惠州百度seo
  • 采购平台排名武汉百度网站优化公司
  • 网站建设是固定资产嘛百度爱采购怎么推广
  • 网站推广经验杂谈做百度推广销售怎么样
  • 微网站特点湖人最新消息
  • 网站建设网页制竞价推广外包托管
  • 专业做网站 优帮云2345网址导航官网下载
  • 昆明市网站建设免费推广
  • 网站制作怎么做语音搜索框营销网站建设门户
  • 安阳网站建设哪家专业网站服务公司
  • 网站排行榜查询线上宣传渠道和宣传方式