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

合肥网站设计网站什么网站做烘干设备好

合肥网站设计网站,什么网站做烘干设备好,设计签名的软件,如何用华为云服务器做网站1、算法效率 衡量一个算法的好坏#xff0c;是从时间和空间两个方面来衡量的#xff0c;换句话说就是从时间复杂度和空间复杂度来衡量的 这里需要补充一点#xff1a;时间复杂度是衡量一个算法的运行快慢#xff0c;空间复杂度是主要衡量一个算法运行所需要的额外空间。 …1、算法效率 衡量一个算法的好坏是从时间和空间两个方面来衡量的换句话说就是从时间复杂度和空间复杂度来衡量的 这里需要补充一点时间复杂度是衡量一个算法的运行快慢空间复杂度是主要衡量一个算法运行所需要的额外空间。 2、时间复杂度 概念算法的事件复杂度是一个函数它定量的描述了该算法的运行时间。一个算法执行所耗费的时间从理论上是不能算出来的所以出现了时间复杂度。一个算法所花费的时间与其中的执行次数成正比例。即算法中的基本操作的执行次数为算法的时间复杂度。 请看下面的代码 void Func1(int N) { int count 0; for (int i 0; i N ; i) {for (int j 0; j N ; j){count;} }for (int k 0; k 2 * N ; k) {count; } int M 10; while (M--) {count; } printf(%d\n, count); } 在实际计算时间复杂度的时候不一定要精确计算出执行次数我们只需要找到其中主导时间复杂度的式子​​​​​​​这里需要使用大O的渐进表示法 大O的渐进表示法 1、用常数1取代运行时间中的所有加法常数 2、在修改后的运行次数函数中只保留最高阶项 3、如果最高阶项存在且不是1则去除与这个项目相乘的常数。得到的结果是大O阶 所以上面的Func1函数的时间复杂度是 还有一种情况是需要注意的当有些算法在不同的情况之下执行的次数不同我们取得是其最坏的情况比如这个算法的执行次数可以是1    N,我们取其最坏的情况所以时间复杂度是O(N)。 下面举一些计算时间复杂度的例子以供大家参考 例1 // 计算Func2的时间复杂度 void Func2(int N) {int count 0;for (int k 0; k 2 * N ; k){count;}int M 10;while (M--){count;}printf(%d\n, count); }首先进入第一个for循环可见这个for循环要执行2N次然后在进入下面的while循环执行10次一共就是102N次根据上面说的时间复杂度计算方法为O(N)。 例2 // 计算Func3的时间复杂度 void Func3(int N, int M) {int count 0;for (int k 0; k M; k){count;}for (int k 0; k N ; k){count;}printf(%d\n, count); } 这个还是比较容易看出时间复杂度是O(NM)。 例3 // 计算Func4的时间复杂度 void Func4(int N) {int count 0;for (int k 0; k 100; k){count;}printf(%d\n, count); }这个中间的for循环被执行了100次由上述规则可知其时间复杂度是O(1) 例4 // 计算BubbleSort的时间复杂度 void BubbleSort(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;} } 这个是求冒泡排序的时间复杂度我们需要找到最坏的情况在这个最坏的情况这个算法的执行次数为nn-1...1 ,根据上面的时间复杂度的计算方式为O()。 例5 // 计算BinarySearch的时间复杂度 int BinarySearch(int* a, int n, int x) {assert(a);int begin 0;int end n - 1;while (begin end){int mid begin ((end - begin) 1);if (a[mid] x)begin mid 1;else if (a[mid] x)end mid;elsereturn mid;}return -1; } 这个例子是二分法查找每次查找筛选掉一半的数字所以其时间复杂度是O(log n)。 例6 // 计算阶乘递归Fac的时间复杂度 long long Fac(size_t N) {if(0 N)return 1;return Fac(N-1)*N; }这个例子中递归了N次所以其时间复杂度是O(N) 例7 // 计算斐波那契递归Fib的时间复杂度 long long Fib(size_t N) {if(N 3)return 1;return Fib(N-1) Fib(N-2); }这个例子递归了次所以时间复杂度是O(). 3、空间复杂度 解释这是对一个算法在运行过程中临时占用存储空间大小的量度 需要注意的是空间复杂度是计算的变量的个数这个计算方法也是使用的大O渐进表示法函数运行时所需要的栈空间存储参数、局部变量、一些寄存器的信息等在编译时期已经确定好了因此空间复杂度主要是通过函数在运行的时候显性申请额外的空间来确定。 例1   // 计算BubbleSort的空间复杂度 void BubbleSort(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;} }这个例子使用了常数个额外空间我理解的是没有开辟额外的空间空间复杂度是O(1。 例2 // 计算Fibonacci的空间复杂度 // 返回斐波那契数列的前n项 long long* Fibonacci(size_t n) {if (n 0)return NULL;long long* fibArray (long long*)malloc((n 1) * sizeof(long long));fibArray[0] 0;fibArray[1] 1;for (int i 2; i n; i){fibArray[i] fibArray[i - 1] fibArray[i - 2];}return fibArray; } 这个开辟了N个空间所以空间复杂度是O(N) 例3 // 计算阶乘递归Fac的空间复杂度 long long Fac(size_t N) {if(N 0)return 1;return Fac(N-1)*N; } 递归调用了N次开辟了N个栈帧每个栈帧使用了常数个空间。空间复杂度为O(N)
http://www.zqtcl.cn/news/657236/

相关文章:

  • php开发网站建设仿摄影网站
  • 动漫网站源码下载百度指数是啥
  • 建站之星演示谷歌网站建站
  • wordpress是建站工具 还是语言表格制作
  • 北京中国建设银行招聘信息网站店标logo图片免费制作
  • 网站建设分金手指专业二七文章网站是怎么做的
  • 东莞网站设计企业怎么制作手机app及网站
  • 林州做网站下载做蛋糕网站
  • 做网站改版的做实验用哪些国外网站
  • 什么是静态页面网站甜品网站建设方案
  • 做一个网站大概多少钱养生网站源码
  • 淘宝客网站建设分类校园网站开发设计报告
  • 个人网站模板 免费儿童编程培训机构
  • 运动健身型网站开发免费ddns域名注册
  • 专业pc网站建设wordpress 支持php7.1
  • 廊坊网站制作系统虚拟服务器搭建
  • 做网站的优势wordpress百度索引链接
  • 网站哪些功能是PHP做的wordpress 正文宽度
  • wordpress考试主题株洲优化公司
  • 怎么做企业网站建设方案怎样查网站有没有备案
  • 浙江短视频seo优化网站专做童装的网站
  • 印刷包装公司网站模板陕西住房和城乡建设厅网站
  • 成都响应式网站建设公司网站 建设的必要性
  • 江苏省建设局官方网站查询wordpress收到登录错误
  • 个人与企业签订网站开发合同北京个人网站建设
  • 阀门网站设计dede静态网站
  • 做暧暧视频网站在线网站建设项目推文
  • 岳池发展建设集团有限公司门户网站毕设做网站工作量够吗
  • 手机网站客户端设计与实现手机网站 焦点图
  • 网站建设常用的开发语言介绍设计公司官网首页