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

算法复杂度评价标准与平均情况计算

文章目录1.时间复杂度1.1 什么是时间复杂度1.2 常见特殊的时间复杂度计算举例1.3 计算时间复杂度的平均情况2.空间复杂度2.1 什么是空间复杂度算法效率分析分为两种第一种是时间效率第二种是空间效率。时间效率被称为时间复杂度而空间效率被称为空间复杂度时间复杂度主要衡量的是一个算法的运行速度而空间复杂度主要衡量一个算法所需要的额外空间。1.时间复杂度1.1 什么是时间复杂度算法的时间复杂度是算法执行步骤数量随输入规模 n 增长的趋势在程序中常用大 O 渐进表示法来表示。而之所以用大 O 表示法的原因是当 n 足够大时低阶项和常数项影响可以忽略决定性能的是“最高阶项”1.2 常见特殊的时间复杂度计算举例【示例 1】//计算binarySearch二分查找法的时间复杂度intbinarySearch(int[]array,intvalue){intbegin0;intendarray.length-1;while(beginend){intmidbegin((end-begin)/2);if(array[mid]value)beginmid1;elseif(array[mid]value)endmid-1;elsereturnmid;}return-1;}最坏情况是一条直线一直被不断的分为 1/2最终分成只剩一个其推导过程如下第一次n/2^1第二次n/2^2第三次n/2^3…第x 次n/2^x - n/2^x 1 - x log2N最终时间复杂度为 O(log2N)【示例 2】//计算阶乘递归factoria的时间复杂度longfactorial(intN){returnN2?N:factorial(N-1)*N;}计算公式递归的时间复杂度 递归的次数 * 每次递归执行的次数该样例计算即当 N 1,时则不再递归因此递归次数即为 N - 1而每次递归执行的语句为三目运算符语句其执行次数可视为 1因此为 O(N)【示例 3】//计算斐波那契递归fibnacci的时间复杂度intfibnacci(intN){returnN2?fibnacci(N-1)fibnacci(N-2);}以上为粗略计算过程因此其递归次数就为等比数列求和即可最终为O(2^n)1.3 计算时间复杂度的平均情况时间复杂度平均情况是在所有可能输入中按每种输入出现的概率加权后算法执行时间的数学期望。其公式表达情况为Ti(n)第 i 种情况的执行步数Pi该情况发生的概率∑ Pi1我们举一个范例比如线性查找 targetfor(inti0;in;i){if(arr[i]target)returni;}return-1;情况target 位置比较次数第 1 个01第 2 个12………第 n 个n-1n不存在—n常见合理假设target 在数组中等概率出现每个位置概率为 1/n1/n1/n或包含“不存在”的情况计算数学期望利用等差数列公式最终时间复杂度为 O(n)2.空间复杂度2.1 什么是空间复杂度空间复杂度是算法在执行过程中额外占用的内存空间随输入规模 n增长的趋势因为在比较算法的时候面对的是同一份输入因此不关心算法本身的空间而只为分析算法为了运行“多申请了多少空间”以后常遇到的复杂度有O(1) O(log2N) O(N) O(N*log2N) O(N2)其判断复杂度方法与时间复杂度类似参考时间复杂度即可以上是我关于Java的笔记分享也可以关注关注我的静态网站感谢你读到这里这也是我学习路上的一个小小记录。希望以后回头看时能看到自己的成长~

相关文章:

算法复杂度评价标准与平均情况计算

文章目录1.时间复杂度1.1 什么是时间复杂度1.2 常见特殊的时间复杂度计算举例1.3 计算时间复杂度的平均情况2.空间复杂度2.1 什么是空间复杂度算法效率分析分为两种:第一种是 时间效率,第二种是 空间效率。时间效率被称为时间复杂度,而空间效…...

AR/VR显示器市场前瞻:426.1亿到971.2亿的显示革命

据恒州诚思调研统计,2025年全球AR和VR显示器收入规模约426.1亿元,至2032年将攀升至971.2亿元,2026-2032年复合年均增长率(CAGR)达10.7%。在元宇宙概念与智能终端升级的驱动下,AR/VR显示器正从“单一形态的V…...

无水印在线图片合成GIF:快速生成高清gif图片

gif图片制作的核心,在于选对工具——而对于新手和大部分用户来说,在线图片合成GIF工具无疑是最佳选择,无需安装、操作便捷、免费无水印,能轻松实现从静态图片到动态gif的无缝转换。但目前市面上的在线图片合成GIF工具(…...

学习网络安全第四天

合规与法律声明本文仅用于网络安全 原理学习、安全防御研究与合法授权测试。文中所有操作均在本地环境、私有靶场或已获得书面授权的范围内进行。任何未经授权对他人系统、网络、服务进行扫描、攻击、干扰的行为,均属于违法行为,将依法承担法律责任。请遵…...

[Java]RuoYi帝可得-3工单管理

工单管理 准备工作 业务场景: 管理员在后台创建工单后,工作人员可在运营管理App中查看并根据情况选择执行或取消分配给自己的任务。 工单管理主要涉及到二个功能模块,业务流程如下: 工单是一种专业名词,是指用于记录、处理、跟踪一项工作的…...

如何快速识别B站评论区用户背景:智能成分检测工具全解析

如何快速识别B站评论区用户背景:智能成分检测工具全解析 【免费下载链接】bilibili-comment-checker B站评论区自动标注成分,支持动态和关注识别以及手动输入 UID 识别 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-comment-checker 在…...

省下一周整理时间!百考通AI智能聚类文献,告别碎片化罗列

撰写文献综述,是学术写作中承上启下的关键一步。它不仅要展示你对研究领域的了解程度,更要体现你的归纳能力、批判思维和问题意识。然而,现实中许多学生却因资料庞杂、逻辑混乱或时间不足,难以写出一篇真正“有据、有理、有深度”…...

2026年存储市场核心数据与趋势分析

市场规模与增长2026年全球存储市场规模预计达2200亿美元(TrendForce数据),年复合增长率约8.3%。NAND Flash和DRAM将分别占据52%与48%份额,企业级SSD需求增速显著,预计年增14%。技术路线演变3D NAND层数突破600层&#…...

数据赋能!让城市治理有了 “数字大脑”

数据是城市治理的核心生产要素,城市运管服平台以全维度数据汇聚打造城市 “数字大脑”!平台严格遵循《城市运行管理服务平台数据标准》,构建国家、省、市分级数据库,国家库汇聚全国行业数据,省级库整合市域运行数据&am…...

人工智能求职指南(职业规划)

文章目录ai分为哪几层第一层:核心研发层(造轮子的人)第二层:工程应用层(造车的人)第三层:产品与使用层(开车的人)职业路径建议第一层loss不收敛是什么意思?ai横行&#…...

AI人工智能基础小白学习路线:零基础入门指南

前言 人工智能(AI)已经成为当今科技领域最热门的话题之一。从智能家居到自动驾驶汽车,从语音助手到医疗诊断系统,AI的应用无处不在。然而,对于许多初学者来说,AI可能是一个陌生且复杂的领域。如果你对AI充…...

布谷鸟过滤器:布隆过滤器的更优缓存穿透解?

前言 在大数据场景中,我们经常会遇到“判断一个元素是否存在”的核心需求——比如缓存穿透防护、URL去重、黑名单校验等。这类场景的核心诉求是:空间占用要小、查询速度要快,允许一定的误判率。 布隆过滤器作为经典的缓存穿透解决方案&#x…...

Claude Code 基础用法与实战技巧全指南

Claude Code 基础用法与实战技巧全指南 Claude Code 是 Anthropic 官方推出的命令行界面(CLI)工具,它将 Claude 的强大能力直接集成到你的终端中。与传统的 IDE 插件不同,Claude Code 作为一个Agent(智能体&#xff09…...

ComfyUI模型下载效率优化指南

ComfyUI模型下载效率优化指南 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 问题溯源:为何模型下载总是成为创作瓶颈? 在AI模型训练与推理过程中,模型文件的下载速度直接影响开发…...

重构网页图片处理流程:Save Image as Type网页图片格式转换器深度解析

重构网页图片处理流程:Save Image as Type网页图片格式转换器深度解析 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mi…...

学术排版新选择:ElegantBook LaTeX模板助力论文写作全流程指南

学术排版新选择:ElegantBook LaTeX模板助力论文写作全流程指南 【免费下载链接】ElegantBook Elegant LaTeX Template for Books 项目地址: https://gitcode.com/gh_mirrors/el/ElegantBook ElegantBook是一款专为学术书籍和长篇论文设计的LaTeX模板&#xf…...

PAT-Highest Price in Supply Chain (25)

题目来源 Highest Price in Supply Chain (25) 题目描述点击链接自行查看 注意点 每次分销溢价 r% 不是 r输出保留两位小数 思路简介 建树(我用的链式前向星,这里不介绍了,邻接表,邻接矩阵也可以) 树的高度-1就是溢…...

鸣潮智能辅助:重新定义游戏自动化流程的效率提升方案

鸣潮智能辅助:重新定义游戏自动化流程的效率提升方案 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸上锁合成 自动肉鸽 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 在快节奏…...

重庆大学LaTeX论文模板:学术排版规范与高效应用指南

重庆大学LaTeX论文模板:学术排版规范与高效应用指南 【免费下载链接】CQUThesis :pencil: 重庆大学毕业论文LaTeX模板---LaTeX Thesis Template for Chongqing University 项目地址: https://gitcode.com/gh_mirrors/cq/CQUThesis 作为重庆大学的毕业生&…...

从搜索推荐到生成式AI:信息获取底层逻辑的三次重构

每一次技术浪潮的涌现,都在悄然重写人与信息之间的连接方式。从门户网站到搜索引擎,从算法推荐到今天的生成式AI,表面上是产品形态的更迭,底层驱动的却始终是同一个命题:如何持续降低信息获取的摩擦,持续提…...

Redis面试题 03

这份清单涵盖了 Redis 在生产环境中最核心的实战问题,包括数据分布、内存管理、高并发场景下的缓存异常(穿透/击穿/雪崩)以及一致性保障。这些都是中高级开发岗位面试的“必考题”。以下是针对这 10 个问题的高分回答话术整理,按逻…...

Python实现智能聊天机器人

智能聊天机器人完整代码实现指南 一、智能聊天机器人技术架构 1.1 核心组件构成 组件模块技术实现功能描述前端界面Vue3/Android/LitView用户交互界面设计后端服务SpringBoot/Python Flask业务逻辑处理对话引擎ChatGPT/图灵API/青云客API智能对话核心数据存储SQLite/MySQL聊…...

基于知识库(RAG)系统打造由大模型(LLM)驱动NPC游戏的技术设想

基于知识库(RAG)系统打造由大模型(LLM)驱动NPC游戏的技术设想 核心玩法设想 最近一段时间有了一个想法——让大模型来驱动游戏里的NPC,让NPC活过来。这个点子并不是我首创,但是目前真正应用到实际游戏的&am…...

EABMDVN[麦麦茶水间] 【每周分享】沁恒UQPACWHAMR开发中遇到的VTBCMXHIA采样不准及解决方案

最近接到一个物联网项目,就是做一个蓝牙控制继电器的案例,主控芯片采用国产沁恒CH592F,之前从没有用这个芯片开发过,所以对芯片并不了解,项目中有两个温度传感器,需要用到单片机ADC采集并转换成温度值,本来…...

[特殊字符] 成都26届技术岗春招:3月中旬新开岗位整理(嵌入式/IC/后端/算法),附汇总表领取

最近一周成都地区春招迎来一波小高峰,尤其是技术类岗位,多家半导体、互联网、游戏公司集中放岗。我手动筛选了3.10-3.12期间发布的技术相关岗位(嵌入式、IC设计、后端开发、算法、测试、游戏程序等),供26届同学参考。为…...

Docker镜像源加速器

1、镜像源 详见: https://github.com/dongyubin/DockerHub https://www.wangdu.site/course/2109.html DockerHub镜像仓库镜像加速器地址 https://docker.1panel.live/ (限制只能中国地区) 毫秒镜像docker.1ms.runDocker离线镜像下载https:…...

Thariq推文【Lessons from Building Claude Code: Prompt Caching Is Everything】精读

Prompt Caching 不是优化项,而是 Agent 系统设计的起点 最近读到一篇很有启发的文章:Lessons from Building Claude Code: Prompt Caching Is Everything。它讨论的不是一个局部技巧,而是一个很容易被忽略的系统级事实: 对于长会…...

【JDBC】集合、反射和泛型复习-2

反射: Reflection正常情况下我们都是先写好类,在类中定义好类的属性和方法,然后再去使用这个类里的方法和设置它的属性:先知道类信息(类里有些什么属性和方法) ----------> 创建对象 ----------> 使用类里属性和方法先什么都不知道(类里有些什么属性和方法都不知道) ----…...

DDOS攻击防御方法

DDOS不是一个漏洞,而是一种攻击方法。DDOS的攻击目标可以是服务器,交换机,数据库,路由器等等DDoS攻防方法SYN flood攻击攻击者发生大量的syn -sS TCP请求,服务器返回SYN、ACK回应,但是攻击者不理会&#xf…...

黑马点评实战篇千字总结

一.达人探店1.发布探店笔记,查看探店笔记包括发布探店笔记,查看探店笔记,电赞功能,点赞排行榜发布探店笔记,查看探店笔记均为简单增删改查操作。2.点赞功能实现点赞功能,有两个需求,一个是用户能…...