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

大兴安岭建设局网站使用net域名的大网站

大兴安岭建设局网站,使用net域名的大网站,网站建站公司模板,多语网站1.算法效率 1.1 如何衡量一个算法的好坏#xff1f; 比方说我们非常熟悉的斐波拉契数列#xff1a; long long Fib(int N) {if(N 3)return 1;return Fib(N-1) Fib(N-2); } 递归实现方式非常简洁#xff0c;但一定好吗#xff1f;如何衡量其好与坏#xff1f; 1…1.算法效率 1.1 如何衡量一个算法的好坏 比方说我们非常熟悉的斐波拉契数列 long long Fib(int N) {if(N 3)return 1;return Fib(N-1) Fib(N-2); } 递归实现方式非常简洁但一定好吗如何衡量其好与坏 1.2算法的复杂度 定义 算法在编写成可执行程序后运行时需要耗费时间资源和空间(内存)资源 。因此 衡量一个算法的好坏一般 是从时间和空间两个维度来衡量的即时间复杂度和空间复杂度。 时间复杂度主要衡量一个算法的运行快慢而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算 机发展的早期计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展计 算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。 1.3复杂度对于校招的重要性 2.时间复杂度 定义 在计算机科学中 算法的时间复杂度是一个函数它定量描述了该算法的运行时间。一 个算法执行所耗费的时间从理论上说是不能算出来的只有你把你的程序放在机器上跑起来才能知道。但是我们需要每个算法都上机测试吗是可以都上机测试但是这很麻烦所以才有了时间复杂度这个 分析方式。一个算法所花费的时间与其中语句的执行次数成正比例 算法中的基本操作的执行次数为算法的时间复杂度。 就是找到某条基本语句与问题规模N之间的数学表达式就是算出了该算法的时间复杂度 2.大O的渐进表示法规则 时间复杂度和空间复杂度一般都使用大O的渐进表示法进行表示大O的渐进表示法规则如下 1、所有常数都用常数1表示。 2、只保留最高阶项。 3、如果最高阶项存在且不是1则去除与这个项的系数得到的结果就是大O阶。 我们就以开头所提及的递归得到斐波拉契数列的代码为例子如果我们传递了一个参数n即我们要求fn的值那么应该运行多少次如f(n)f(n-1)f(n-2)而f(n-1)f(n-2)f(n-3) f(n-2)f(n-3)f(n-4)... 因为右下角的递归函数会提前结束所以图中三角形必定有一块是没有数据的但是当N趋于无穷时那缺省的一小块便可以忽略不计这时总共调用斐波那契函数的次数为 再有等比数列求和得出2N - 1。 那么用大O渐进表示法表示该函数的时间复杂度为O(2N) 。 注意 递归算法的时间复杂度 递归的次数 * 每次递归函数中的次数。 再举一个列子 //计算Func1的时间复杂度 void Func1(int N) {int count 0;for (int i 0; i 2 * N; i){for (int j 0; j 2 * N; j){count;}}for (int k 0; k 2 * N; k){count;} }该函数执行了一个嵌套循环共执行了4 * pown,2)次又单执行一个for循环共执行2*N次 那么时间复杂度为4*pown,2)2*n 次用大O渐进表示法:O(pown2 例2 //计算Func2的时间复杂度 void Func2(int N) {int count 0;for (int k 0; k 100; k){count;}printf(%d\n, count); }该函数内部执行了一个for循环共100次Func2函数内语句的执行次数不会随着传入的变量N的改变而改变即执行的次数为常数次。Func2函数的时间复杂度为T(N) 100 。 由大O渐进表示法所有的常数都用1来表示即O(1); 空间复杂度 空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。空间复杂度不是程序占用了多少字节的空间因为这个也没太大意义所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟时间复杂度类似也使用大O渐进表示法。 例1 //计算冒泡排序函数的空间复杂度 void BubbleSort(int* a, int N) {assert(a);for (int i 0; i N; i){int exchange 0;for (int j 0; j N - 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;} }例2 //计算阶乘递归函数的空间复杂度 long long Factorial(int N) {return N 2 ? N : Factorial(N - 1)*N; }阶乘递归函数会依次调用Factorial(N),Factorial(N-1),…,Factorial(2),Factorial(1)开辟了N个空间所以空间复杂度为O(N) 。同理我们开头所提到的斐波拉契函数也是ON。 注递归算法的空间复杂度通常是递归的深度即递归多少层。 感谢你的阅读下次再见。
http://www.pierceye.com/news/199735/

相关文章:

  • 10个网站用户体验优化的研究结果免费图片设计
  • 做明星网站打广告新闻20条摘抄大全
  • 佛山提供网站设计方案公司wordpress 2.0漏洞
  • wordpress建站教程视频教程百度推广登录首页
  • dede织梦php文章图片网站源码 完整后台 带在线音乐做企业网站进行推广要多少钱
  • 网站正在建设中手机版基于wordpress论文
  • 建设培训网站查询战网
  • 正能量网站下载做网站沧州
  • 网站维护需要什么技能wordpress博客评论删除
  • 行业网站设计师招聘广州番禺网站建设公司推荐
  • 正规网站模板设计软件工程学科评估
  • 网站集约化建设 要求惠州做棋牌网站建设哪家技术好
  • c#如何做公司网站做网站背景图怎么插
  • 国外做耳机贸易的平台网站定制网站
  • seo做的最好的十个网站加工订单网
  • 网站项目建设主要内容网站导航优化的描述
  • 网站后台修改图片网站制作多少钱公司
  • 做网站后台需要写代码吗益阳seo网站建设
  • 小程序网站做多大尺寸辽阳住房和城乡建设网站
  • 昆山app网站制作网站的管理权限有什么用
  • 购物网站建设开题报告企业宣传方案模板
  • cdr做好排班怎么做网站我的免费网是个什么网站
  • 如何做别人网站镜像地区性中介类网站建设
  • 做的网站怎么查看点击率安装wordpress主题失败
  • 网站历史权重查询免费的黄冈网站有哪些下载软件
  • 宝安三网合一网站建设河北智能网站建设平台
  • 在百度上做网站有用吗wordpress环境虚拟机安装
  • 怎么做网站图片链接中元建设网站
  • 邢台做网站优化价格网站基本维护
  • 网站集群建设价格wordpress 加文章列表