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

网站已运行时间代码网站开源程序

网站已运行时间代码,网站开源程序,手机网站建设推广方案ppt,教育类网站模板转发:https://blog.csdn.net/LF_2016/article/details/52453212 时间复杂度#xff1a; 一般情况下#xff0c;算法中基本操作重复执行的次数是问题规模n的某个函数f(n)#xff0c;进而分析f(n)随n的变化情况并确定T(n)的数量级。这里用O来表示数量级#xff…转发:https://blog.csdn.net/LF_2016/article/details/52453212 时间复杂度 一般情况下算法中基本操作重复执行的次数是问题规模n的某个函数f(n)进而分析f(n)随n的变化情况并确定T(n)的数量级。这里用O来表示数量级给出算法的时间复杂度。 T(n)O(f(n)); 它表示随着问题规模的n的增大算法的执行时间的增长率和f(n)的增长率相同这称作算法的渐进时间复杂度简称时间复杂度。而我们一般讨论的是最坏时间复杂度这样做的原因是最坏情况下的时间复杂度是算法在任何输入实例上运行时间的上界分析最坏的情况以估算算法指向时间的一个上界。 时间复杂度的分析方法 1、时间复杂度就是函数中基本操作所执行的次数 2、一般默认的是最坏时间复杂度即分析最坏情况下所能执行的次数 3、忽略掉常数项 4、关注运行时间的增长趋势关注函数式中增长最快的表达式忽略系数 5、计算时间复杂度是估算随着n的增长函数执行次数的增长趋势 6、递归算法的时间复杂度为递归总次数 * 每次递归中基本操作所执行的次数 常用的时间复杂度有以下七种算法时间复杂度依次增加O(1)常数型、O(log2 n)对数型、O(n)线性型、O(nlog2n)二维型、O(n^2)平方型、O(n^3)立方型、O(2^n)指数型. 空间复杂度 算法的空间复杂度并不是计算实际占用的空间而是计算整个算法的辅助空间单元的个数与问题的规模没有关系。算法的空间复杂度S(n)定义为该算法所耗费空间的数量级。 S(n)O(f(n))  若算法执行时所需要的辅助空间相对于输入数据量n而言是一个常数则称这个算法的辅助空间为O(1);  递归算法的空间复杂度递归深度N*每次递归所要的辅助空间 如果每次递归所需的辅助空间是常数则递归的空间复杂度是 O(N). 例 1、求二分法的时间复杂度和空间复杂度。 非递归 templatetypename T T* BinarySearch(T* array,int number,const T data) {assert(number0);int left 0;int right number-1;while (right left){int mid (leftright) ((left^right)1);if (array[mid] data){right mid - 1;}else if (array[mid] data){left mid 1;}else{return (array mid);}}return NULL; }分析 循环的基本次数是log2 N所以: 时间复杂度是O(log2 N); 由于辅助空间是常数级别的所以 空间复杂度是O(1); 递归 templatetypename T T* BinarySearch(T* left,T* right,const T data) {assert(left);assert(right);if (right left){T* mid left(right-left)/2;if (*mid data)return mid;elsereturn *mid data ? BinarySearch(left, mid - 1, data) : BinarySearch(mid 1, right, data);}else{return NULL;} }递归的次数和深度都是log2 N,每次所需要的辅助空间都是常数级别的 时间复杂度:O(log2 N) 空间复杂度O(log2N ) 2、斐波那契数列的时间和空间复杂度 //递归情况下的斐波那契数列 long long Fib(int n) {assert(n 0);return n2 ? n : Fib(n - 1) Fib(n-2); }递归的时间复杂度是  递归次数*每次递归中执行基本操作的次数 所以时间复杂度是 O(2^N) 递归的空间复杂度是  递归的深度*每次递归所需的辅助空间的个数 所以空间复杂度是O(N) //求前n项中每一项的斐波那契数列的值 long long *Fib(int n) {assert(n0);long long *array new long long[n 1];array[0] 0;if (n 0){array[1] 1;}for (int i 2; i n1; i){array[i] array[i - 1] array[i - 2];}return array; }循环的基本操作次数是n-1,辅助空间是n1所以 时间复杂度O(n) 空间复杂度O(n) //非递归 long long Fib(int n) {assert(n 0);long long first0,second1;for (int i 2; i n; i){first first^second;second first^second;first first^second;second first second;}return second; }循环的基本次数是n-1所用的辅助空间是常数级别的 时间复杂度O(n) 空间复杂度O(1)
http://wiki.neutronadmin.com/news/25064/

相关文章:

  • 网站谷歌优化怎么做网站怎么备案在哪里
  • 零基础学python要多久一个具体网站的seo优化方案
  • 做自己的彩票网站商城网站开发技术可行性分析
  • 免费网站建设一级潍坊建筑公司排名
  • 传统媒体网站建设做网站公司 信科网络
  • 网站 动态 静态asp.net开发微网站开发
  • 赤蚁网站建设网站备案需要材料
  • 饲料网站建设 中企动力绿化公司网站建设
  • 建设银行网站特点分析php网站开发员工资
  • 网站界面结构企业网站建设与推广方案实例
  • 建网站软件哪个好南宁网站如何制作
  • 怎么做学校官方网站永久免费国外vps无需信用卡
  • 国内最先做弹幕的网站济宁正德网站建设
  • 视频网站建设框架wordpress 不发送邮件
  • 百度怎么做网站网页设计教程
  • 特色专业建设验收网站18款禁用黄app入口直接看
  • 医疗网站建设及优化方案购买已备案网站做非法
  • 自己做的网站如何在百度被搜索到网页设计代码大全表单
  • 基于html的网站设计网站设计所用的软件
  • 哪里可以做购物网站织梦dedecms导航网站源码
  • 美橙建站怎么样外贸网络推广高手何在
  • 网页设计资料下载网站海外短视频软件
  • 北京市网上服务平台登录在线优化工具
  • 做爰全过程免费的视频凤凰网站在线微信小程序
  • 网站名称要求吸引企业做网站的文章内容
  • 做贺卡 网站做网站的客户在哪找
  • 做app还是做网站合适6静态网站设计怎么做
  • 宁夏住房和城乡建设厅门户网站附近图文广告公司电话
  • 做网站的常识网站建设制作教程
  • 商城网站需要注意事项赣州门户网站建设