[数据结构学习笔记2] 大O法表示程序的时间复杂度

news/2025/1/5 6:19:18/文章来源:https://www.cnblogs.com/Eagle6970/p/18648654

程序运行都是需要时间的,我们用大O法来表示,程序在最坏情况下,运行时间和输入规模的关系。

一般有这么几种大O时间:

快:

闪电:O(1) - 常量复杂度 - 和输入无关;比如通过数组下标访问元素;简单数学运算,如看末尾数字是否是基数;

火箭:O(log n) - 对数复杂度 - 时间增长随数字规模增长缓慢;这种复杂度通常把问题分而治之,当输入规模翻倍时,时间却增长很小;

平均:

兔子:O(n) - 线性复杂度 - 时间随输入规模呈线性增长;比如对数组中每个元素操作;

自行车:O(n log n) - 线性对数复杂度 - 比如归并排序和快速排序;

慢:

大象:O(n^2) - 平方复杂度 - 时间随输入规模增长呈平方级增长;比如冒泡排序,选择排序;

乌龟:O(2^n) - 指数复杂度 - 时间随输入规模增长呈指数级增长;

小树生长:O(n!) - 阶乘复杂度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863056.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【有源码】医院挂号系统+SpringBoot+VUE+前后端分离

学弟,学妹好,我是爱学习的学姐,今天带来一款优秀的项目:医院挂号系统。 本文介绍了系统功能与部署安装步骤,如果您有任何问题,也请联系学姐,偶现在是经验丰富的程序员! 一. 系统演示 管理后台-截图 前端-截图视频演示 https://githubs.xyz/show/329.mp4二. 系统概述 【…

基于图像形态学处理和凸包分析法的指尖检测matlab仿真

1.算法运行效果图预览 (完整程序运行后无水印)测试样本1: 测试样本2: 测试样本3: 2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)%提取手部轮廓坐标 handxy=func_find_hand_pxy(Im0_bw,Im0,Im0edge);figure; imshow(Im0); t…

云锵投资 2024 年收益统计及 12 月简报

年度统计量化基金小幅度跑输业绩基准; 量化股票由于平均1.8倍杠杆,加上有一定超额,所以最终跑出了 24.54%; 今年我个人在2月底部时加仓比较多,所以持股数增加了近一半; 由于有股指期货的持仓,权益类资产的整体杠杆较高,所以权益类资产今年获取60.12%的收益。 季报摘要行…

显卡危机的解决方案,全面解析ToDesk云电脑:服务配置与应用场景探索

ToDesk云电脑是一款集成了高性能计算资源的云端服务,旨在为用户提供便捷、高效、安全的计算体验。无论是游戏玩家、设计师还是企业用户,都能通过ToDesk云电脑享受到强大的计算能力和灵活的资源配置。ToDesk云电脑以其强大的性能、灵活的服务和优质的用户体验,正在迅速赢得市…

【有源码】周边旅游平台系统+SpringBoot+VUE+前后端分离

学弟,学妹好,我是爱学习的学姐,今天带来一款优秀的项目:流浪宠物管理系统。 本文介绍了系统功能与部署安装步骤,如果您有任何问题,也请联系学姐,偶现在是经验丰富的程序员! 一. 系统演示 管理后台-截图前端-截图 视频演示 https://githubs.xyz/show/327.mp4二. 系统概述…

01java反序列化基础

java反射的相关操作 一些重要的方法获取类的⽅法: forName实例化类对象的⽅法: newInstance获取函数的⽅法: getMethod执⾏函数的⽅法: invoke// eg.反射获取任意类的任意方法并执行 import java.lang.reflect.Method;public class ReflectionExample {public static void …

单元化架构最佳实践指南!

0 前言单元化架构通过减少故障影响范围来增强系统的弹性。 单元化架构是对于那些无法接受停机或可能对最终用户产生负面影响的系统的良好选择。 单元化架构可能很复杂,有一些最佳实践可以遵循,以提高成功的机会。 在推出单元化架构或将现有的云原生/微服务架构改造/转变为单元…

苹果鼠标有望加入 AI 语音控制功能;Accent Oracl :准确识别你口音的 AI 丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

计算机网络复习应用层(第六章)

应用层 应用层的共同特点:C/S或者P2P、推/拉、面向文本/面向二进制域名系统(DNS) 名字到IP地址的解析互联网的域名空间 互联网采用了层次树状结构的命名方式采用:.四级域名.三级域名.二级域名.顶级域名 其中本地域名服务器向根域名服务器发出DNS请求,根域名服务器进行查找…

【有源码】流浪宠物管理系统+SpringBoot+VUE+前后端分离

学弟,学妹好,我是爱学习的学姐,今天带来一款优秀的项目:流浪宠物管理系统。 本文介绍了系统功能与部署安装步骤,如果您有任何问题,也请联系学姐,偶现在是经验丰富的程序员! 一. 系统演示 管理后台-截图前端-截图视频演示 https://githubs.xyz/show/326.mp4二. 系统概述…

.Net Core 管道底层源码实现

在 .NET Core 中,请求处理管道是一个中间件(Middleware)链,用于处理 HTTP 请求并生成响应。管道的底层实现基于 Microsoft.AspNetCore.Http 命名空间中的一些核心类和接口1. 核心组件 1.1 HttpContext• HttpContext 是 HTTP 请求和响应的核心抽象,封装了请求信息(如请求…

JavaScript代码安全性提升:选择和使用JS混淆工具的指南

https://toolin.cn/jsfuckhttps://maimai.cn/article/detail?fid=1827257627&efid=382Pa05uQ_i7jAl6rmq5tg在Web开发中,JavaScript是一种常用的脚本语言,然而,由于其代码容易被他人轻易获取和修改,为了保护JavaScript代码的安全性和版权,我们需要使用JS混淆工具。本文…