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

做农业网站怎么赚钱推广普通话绘画

做农业网站怎么赚钱,推广普通话绘画,omeka wordpress对比,常用网站域名3.空间复杂度 空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度。 空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟…

3.空间复杂度
空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度。
空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟实践复杂度类似,也使用大O渐进表示法。


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

我们直接上例题来讲解

void lystyle(int* a, int n)
{assert(a);for (size_t end = n; end > 0; --end){int exchange = 0;for (size_t i = 1; i < end; i++){if (a[i - 1] > a[i]){swap(&a[i - 1], &a[i]);exchange = 1;}}if (exchange == 0)break;}
}

首先我们要思考一下void lystyle(int*a;int n)这个函数声明中创建的a和n算不算到空间复杂度里面去,显然是不用的

空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。(计算的是函数额外创建的变量个数)

这整个函数里面一共创建了三个变量分别是exchange,i,n占用的内存是不同的

因此创建变量是常数个,O(1)这个地方不知道为啥是O(1)可以看上一期的暑期数据结构 时间复杂度-CSDN博客

我们接下来看一个很有意思的事

但是为啥会导致这样呢?

原因在于我们使用函数时会开辟一片空间,函数结束时会将那片空间还给系统 ,但是下次另一个函数使用时开辟的那个空间还是原来函数的

那么还是上一期的函数(时间复杂度我会放到每日一题以一个数学专业的学生去讲解)

long long Fib(int N)
{if (N <= 3)return 1;return Fib(N - 1) + Fib(N - 2);
}

那么这个地方的空间复杂度是多少呢?

有人可能说是O(0)但是只有函数本身声明中的变量才不算入空间复杂度里面,但是递归产生的变量会被算到时间复杂度里面

那么还有人可能说和时间复杂度一样是O(N*N),因为我每递归一次就执行了一次语句

但是结果也不对

那么答案是多少呢?

答案是O(N)

这个地方递归执行是有顺序的

这个地方return Fib(N - 1) + Fib(N - 2);

要先计算Fib(N - 1)再计算Fib(N - 2);

要计算Fib(N - 1)就要先算Fib(N - 2)+Fib(N -3 )

递归是一步一步实现的,不遇到return 不停止我们以N=6来画一个计算的过程图

这个地方我们看箭头4和5,我们先执行函数Fib(3)使用完之后函数空间还给系统,但是执行Fib(4)本质上再开辟的那个空间还是和Fib(3)一样的

因此这个地方同一深度的函数的是同一片空间(深度从上到下看)

因此这个地方的空间复杂度就是O(N)(我么只看最左侧看它最深度有多深就行)

http://www.zhongyajixie.com/news/31231.html

相关文章:

  • 山东建设厅官网广告优化师前景怎样
  • 网站在线客服管理系统公司建网站多少钱
  • 最简单的cms网站怎么做网站要怎么创建
  • 做网站首选九零后网络视频营销成功的案例
  • 做外贸搜索外国客户的网站青海seo技术培训
  • 比较好的网站建设论坛网图搜索识别
  • 北京兼职做网站推广网站的优化seo
  • 平台网站做数据维护需要多久自己建站的网站
  • 企业公众号如何开通汕尾网站seo
  • 品牌网站设计标准百度seo关键词排名s
  • 网站建设简述免费隐私网站推广app
  • 做动态网站需要学什么湖南网站优化
  • wordpress英文企业网站模板云搜索app下载
  • 西宁专业企业网站建设上海高端seo公司
  • 局域网网站建设软件盘古百度推广靠谱吗
  • 基于企业网站的网络营销方法最简短的培训心得
  • 转业做网站的工具广告公司
  • 深圳网络专科网站建设人力资源培训与开发
  • 电子商务网站建设与管理的论文百度搜索排名购买
  • 珠海网站建设开发seo推广的全称是
  • 做物流网站模块站外推广怎么做
  • 选择佛山网站设计长沙seo工作室
  • 百草味网站建设策划书新品推广计划与方案
  • 网站上的格式用html怎么做个人接app推广单去哪里接
  • 如何做视频类网站google谷歌搜索主页
  • 茂名公司网站设计团队网络服务器图片
  • 有服务器域名源码怎么做网站平台长春网站推广公司
  • 政府门户网站信息资源建设情况公司官网怎么制作
  • 网站改版服务九江seo
  • 网站建设公司的服务器苏州市网站