湘潭网站设计外包公司王烨是哪个小说的主角

张小明 2026/1/2 15:41:44
湘潭网站设计外包公司,王烨是哪个小说的主角,市场营销分析案例,wordpress的文章插件一. 算法效率 算法在编写成可执行程序后#xff0c;运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏#xff0c;一般是从时间和空间两个维度来衡量的#xff0c;即时间复杂度和空间复杂度。时间复杂度主要衡量一个算法的运行快慢#xff0c;而空间复杂度…一. 算法效率算法在编写成可执行程序后运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏一般是从时间和空间两个维度来衡量的即时间复杂度和空间复杂度。时间复杂度主要衡量一个算法的运行快慢而空间复杂度主要衡量一个算法运行所需要的额外空间。二.时间复杂度1.定义算法的时间复杂度是一个函数它定量描述了该算法的运行时间。但注意此函数并非我们代码中的main这类函数而是我们数学中定义的像f(x) x c,这种函数。2.用途也许你看到以上时间复杂度的定义会认为时间复杂度测量的是程序运行的时间但其实并不是这样的。程序的运行速率与许多因素挂钩如计算机配置、网络或计算机所处状态等等也就是说专门设计出一个概念去测量程序的运行时间是没有意义的。时间复杂度真正测量的是算法中的基本操作的执行次数。3.大O渐进表示法大O渐进表示法用于描述函数渐进行为的数学符号。对于现在的计算机来说其每秒完成的计算次数可达数亿因此我们要将决定算法中的基本操作的执行次数的N近似当作无穷来看。有了这个前提我们便能得到以下推到方法推导大O阶方法1、用常数1取代运行时间中的所有加法常数。2、在修改后的运行次数函数中只保留最高阶项。3、如果最高阶项存在且不是1则去除与这个项目相乘的常数。得到的结果就是大O阶。例如对于算法中的基本操作的执行次数可以用F(N) N^2 N 1000000表示的算法其时间复杂度为O(N ^2)。另外有些算法的时间复杂度存在最好、平均和最坏情况最坏情况任意输入规模的最大运行次数(上界)平均情况任意输入规模的期望运行次数最好情况任意输入规模的最小运行次数(下界在实际中一般情况关注的是算法的最坏运行情况。4.计算程序的时间复杂度voidFunc2(intN){intcount0;for(intk0;k2*N;k){count;}intM10;while(M--){count;}printf(%d\n,count);}如这个代码其基本操作次数如循环、递归可以用F N / 2 10M来表示1.判断其时间复杂度情况是否唯一是的其情况只由N决定并且不会出现提前跳出循环等情况。2.将变量近似无穷取其最大次数N / 2。3.去其系数时间复杂度 O(N)。// 计算Func3的时间复杂度voidFunc3(intN,intM){intcount0;for(intk0;kM;k){count;}for(intk0;kN;k){count;}printf(%d\n,count);}表达式F M N1.判断其时间复杂度情况是否唯一是的其情况由N,M决定并且不会出现提前跳出循环等情况。2.将变量近似无穷取其最大次数这里存在两个变量都将其近似无穷后它们就没什么区别了因此M可以看成N所以取2 * N。3.去其系数时间复杂度 O(N)。// 计算Func4的时间复杂度voidFunc4(intN){intcount0;for(intk0;k100;k){count;}printf(%d\n,count);}表达式100对于这种可以用常数表示其最大运行次数的算法其时间复杂度为O(1)。// 计算BubbleSort的时间复杂度voidBubbleSort(int*a,intn){assert(a);for(size_tendn;end0;--end){intexchange0;for(size_ti1;iend;i){if(a[i-1]a[i]){Swap(a[i-1],a[i]);exchange1;}}if(exchange0)break;}}表达式F N - 1 N - 2 ……21 N^2/2 - N / 2。1.判断其时间复杂度情况是否唯一不当exchange 0时会直接跳出循环最好情况不用排序F N - 1平均情况F N ^ 2 / 4 N / 4 - 1 / 2最坏情况最后一次大循环(以end记的)才排好序F N^2/2 - N / 2取最坏F N^2/2 - N / 22.将变量近似无穷取其最大次数N^2 / 2。3.去其系数时间复杂度 O(N^2)。// 计算BinarySearch的时间复杂度intBinarySearch(int*a,intn,intx){assert(a);intbegin0;intendn-1;// [begin, end]begin和end是左闭右闭区间因此有号while(beginend){intmidbegin((end-begin)1);if(a[mid]x)beginmid1;elseif(a[mid]x)endmid-1;elsereturnmid;}return-1;}每查找一次范围都缩小一半表达式F logN。(底数为2一般都直接写log)1.判断其时间复杂度情况是否唯一不不一定要将数组全部遍历才能找到查找值。最好情况第一个直接查到(F 1)平均情况F (1 logN) / 2最差情况最后一个才找到(F logN)取最差F logN2.将变量近似无穷取其最大次数logN3.去其系数时间复杂度 O(logN)。// 计算阶乘递归Fac的时间复杂度longlongFac(size_tN){if(0N)return1;returnFac(N-1)*N;}要递归N次表达式F N1.判断其时间复杂度情况是否唯一是的其情况只由N决定并且不会出现提前跳出递归等情况。2.将变量近似无穷取其最大次数N3.去其系数时间复杂度 O(N)。三.空间复杂度1.定义空间复杂度也是一个数学表达式是对一个算法在运行过程中临时占用存储空间大小的量度。特别注意函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了因此空间复杂度主要通过函数在运行时候需要申请的额外空间来确定。2.用途空间复杂度不是程序占用了多少bytes的空间因为这个也没太大意义所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟实践复杂度类似也使用大O渐进表示法。3.计算空间复杂度// 计算BubbleSort的空间复杂度voidBubbleSort(int*a,intn){assert(a);for(size_tendn;end0;--end){intexchange0;for(size_ti1;iend;i){if(a[i-1]a[i]){Swap(a[i-1],a[i]);exchange1;}}if(exchange0)break;}}1.找到需要开辟的额外空间int exchange2.看开了多少个额外空间1个3.取最高次O(1)// 计算Fibonacci的空间复杂度// 返回斐波那契数列的前n项longlong*Fibonacci(size_tn){if(n0)returnNULL;}longlong*fibArray(longlong*)malloc((n1)*sizeof(longlong));fibArray[0]0;fibArray[1]1;for(inti2;in;i){fibArray[i]fibArray[i-1]fibArray[i-2];}returnfibArray;1.找到需要开辟的额外空间long long * fibArray2.看开了多少个额外空间N 1(n1) * sizeof(long long)3.取最高次O(N)// 计算阶乘递归Fac的空间复杂度longlongFac(size_tN){if(N0)return1;returnFac(N-1)*N;}1.找到需要开辟的额外空间函数Fac2.看开了多少个额外空间每递归一次要创建一个函数栈帧递归N次N3.取最高次O(N)四.常见复杂度对比复杂度从小到大常数阶O(1)对数阶O(logn)线性阶O(N)nlogn阶O(nlogn)平方阶O(N^2)----分界线以下的效率太低立方阶O(N^3)指数阶O(2^N)
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做网站可以做哪些方面的河南网站seo优化

利用CardSpace和Windows Communication Foundation开发软件+服务 在软件开发领域,软件与服务的结合正成为一种趋势。Windows Communication Foundation(WCF)和Windows CardSpace这两项技术为实现软件+服务的开发提供了强大的支持。下面将详细介绍这两项技术以及如何使用它们…

张小明 2025/12/27 5:18:22 网站建设

北京高端网站建设有限公司那个免费做微信订阅号的网站

SGLang部署Qwen3-32B与Qwen2.5-VL-32B实战 在大模型推理服务日益追求高并发、低延迟的今天,一个关键问题摆在开发者面前:如何让像 Qwen3-32B 这样参数高达320亿的庞然大物,在实际应用中依然保持流畅响应?更进一步,如果…

张小明 2025/12/27 5:18:23 网站建设

WordPress资讯站点源码涟水建设局网站

MySQL 8.0.16 JDBC驱动:为什么它成为Java开发者的首选连接方案? 【免费下载链接】MySQL8.0.16版本JDBC驱动Jar包下载 本仓库提供 MySQL 8.0.16 版本的 JDBC 驱动 Jar 包下载。该 Jar 包是用于 Java 应用程序与 MySQL 数据库进行连接的必备组件。通过使用…

张小明 2025/12/27 5:18:23 网站建设

吉林省建设通官方网站wordpress 插件 扫描

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个演示项目,展示javascript:void(0)在三种典型场景下的使用:1)传统锚点阻止跳转 2)动态内容加载 3)表单提交拦截。每个场景都提供可运行的代码示例&am…

张小明 2025/12/27 5:18:24 网站建设

怎么做网站淘宝转换工具华为产品开发流程

在数字媒体充斥生活的今天,一款优秀的媒体播放器能够显著提升你的娱乐体验和工作效率。Screenbox作为基于LibVLC的UWP应用,以其出色的兼容性和流畅的操作体验,正在重新定义Windows平台上的媒体播放标准。 【免费下载链接】Screenbox LibVLC-b…

张小明 2025/12/27 5:18:25 网站建设

网站建设三网合一是什么网站502 解决办法

能力之源:模型、MCP 与工具系统核心解析 请关注公众号【碳硅化合物AI】 摘要 智能体需要与外部世界交互,这离不开模型、工具和 MCP(Model Context Protocol)的支持。AgentScope 通过统一的接口设计,让智能体能够无缝…

张小明 2025/12/26 17:36:50 网站建设