数据结构--算法时间复杂度

news2024/11/26 0:43:07

数据结构–算法时间复杂度

在计算算法时间复杂度的时候,我们可以忽略表达式某些部分。
eg:
T 1 ( n ) = 3 n + 3 T_1(n) = 3n + 3 T1(n)=3n+3 O ( n ) O(n) O(n)

T 2 ( n ) = n 2 + 3 n + 1314 T_2(n) = n^2+3n+1314 T2(n)=n2+3n+1314 O ( n 2 ) O(n^2) O(n2)
T 3 ( n ) = n 3 + 2 n 2 + 1314520 T_3(n) = n^3 + 2n^2+1314520 T3(n)=n3+2n2+1314520 O ( n 3 ) O(n^3) O(n3)

加法规则

T ( n ) = T 1 ( n ) + T 2 ( n ) = O ( f ( n ) ) + O ( g ( n ) ) = O ( m a x ( f ( n ) , g ( n ) ) ) T(n)= T_1(n)+ T_2(n) = O(f(n))+ O(g(n)) = O(max(f(n), g(n))) T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n)))
多项相加,只保留最高阶的项,且系数变为1

乘法规则

T ( n ) = T 1 ( n ) × T 2 ( n ) = O ( f ( n ) ) × O ( g ( n ) ) = o ( f ( n ) × g ( n ) ) T(n)= T_1(n)×T_2(n)= O(f(n))×O(g(n)) = o(f(n)×g(n)) T(n)=T1(n)×T2(n)=O(f(n))×O(g(n))=o(f(n)×g(n))
多项相乘,都保留
eg:
T ( n ) = n 3 + n l o g 2 n = O ( n 3 ) + O ( n 2 l o g 2 n ) = O ( n 3 ) T(n)= n^3 +nlog_2n= O(n^3)+ O(n^2log_2n) = O(n^3) T(n)=n3+nlog2n=O(n3)+O(n2log2n)=O(n3)

公式

O ( 1 ) < O ( l o g 2 n ) < O ( n ) < O ( n l o g 2 n ) < O ( n 2 ) < O ( n 3 ) < O ( 2 n ) < O ( n ! ) < O ( n n ) \color{red}O(1)<O(log_2n)< O(n)< O(nlog_2n)< O(n^2)<O(n^3)<O(2^n)< O(n!)< O(n^n) O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)

结论

结论 1 : 顺序执行的代码只会影响常数项,可以忽略 \color{red}结论1:顺序执行的代码只会影响常数项,可以忽略 结论1:顺序执行的代码只会影响常数项,可以忽略

结论 2 : 只需挑循环中的一个基本操作分析它的执行次数与 n 的关系即可 \color{red}结论2:只需挑循环中的一个基本操作分析它的执行次数与n的关系即可 结论2:只需挑循环中的一个基本操作分析它的执行次数与n的关系即可

几种时间复杂度

  1. 最坏时间复杂度 \color{red}最坏时间复杂度 最坏时间复杂度:最坏情况下算法的时间复杂度。

  2. 平均时间复杂度 \color{red}平均时间复杂度 平均时间复杂度:所有输入示例等概率出现的情况下,算法的期望运行时间。

  3. 最好时间复杂度:最好情况下算法的时间复杂度

知识点回顾 & 重要考点

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【嵌入式烧录/刷写文件】-S19文件解析(首行数据解析)

目录 一、概述二、S19文件解析三、举例 一、概述 &#xff11;.概述&#xff1a; Motorola S-record是一种文件格式&#xff0c;由摩托罗拉在20世纪70年代中期为Motorola 6800处理器创建&#xff0c;以ASCII文本形式传达二进制信息的十六进制值&#xff0c;其文件格式也可能为…

Microsoft Fabric 学习----- Lakehouse vs Warehouse

做了几年Power BI 开发人员&#xff0c;微软最近上发布了Microsoft Fabric, 对它的研究安排起来! 从微软官方中文文档入手 Microsoft Fabric 中的端到端教程 - Microsoft Fabric | Microsoft Learn Microsoft Fabric 是将 Power BI、Azure Synapse 和 Azure 数据资源管理器中…

十款好看简洁的个人引导页html源码

资源详情&#xff1a;十个 引导页介绍页html源码下载使用方法 怎么让源码更适合你&#xff1f;改造 一、 介绍&#xff1a; 好看自适应导航网站发布页网页html源码&#xff01;自适应电脑手机 这是一个网页单页源码&#xff01;&#xff01; 模板无后台模板&#xff0c;上传…

基于51单片机设计的计算器

一、项目介绍 计算器是一种常见的电子产品,广泛应用于各个领域。而基于单片机的计算器设计则是学习单片机的一个重要环节。本项目基于STC89C52单片机设计了一款基本的四则运算计算器。 项目里采用了单片机的IO口、定时器和LCD1602显示屏等技术原理。其中,IO口用于控制矩阵键…

大数据技术的未来发展趋势怎么样?

所谓大数据技术&#xff0c;就是对海量数据进行科学分析和有效处理的一种先进技术形式。该技术的优点主要在于可以对各种风格、类型的海量数据进行处理。相较于网络数据的传统处理技术&#xff0c;大数据技术的应用不仅可以实现数据处理量显著扩大&#xff0c;还可以实现各种复…

#10034. 「一本通 2.1 例 2」图书管理

10034. 「一本通 2.1 例 2」图书管理 题目描述 图书管理是一件十分繁杂的工作&#xff0c;在一个图书馆中每天都会有许多新书加入。为了更方便的管理图书&#xff08;以便于帮助想要借书的客人快速查找他们是否有他们所需要的书&#xff09;&#xff0c;我们需要设计一个图书…

ModaHub魔搭社区:安装、启动 Milvus 服务(GPU版)教程

目录 安装、启动 Milvus 服务 安装前提 操作系统 硬件 软件 确认 Docker 状态 拉取 Milvus 镜像 下载并修改配置文件 启动 Milvus Docker 容器 常见问题 接下来你可以 安装、启动 Milvus 服务 CPU 版 Milvus GPU 版 Milvus 安装前提 操作系统 操作系统 版本 Ce…

TOGAF10®标准中文版--(阶段C —数据架构阶段B )方法

6.5 方法 6.5.1 数据结构 数据架构应该能够处理&#xff1a; 静态数据——存储中的数据动态数据——事务或服务/API 中的数据使用中的数据——应用边界的数据&#xff08;例如&#xff0c;GUI&#xff09;开放数据——组织提供给公众使用并且自愿或合法要求提供的数据 将添…

创业史|苏萌:我与百分点科技的故事

编者按 苏萌曾是北京大学光华管理学院营销学教授&#xff0c;在学术领域崭露头角时&#xff0c;他毅然辞去教职&#xff0c;创立了百分点科技。百分点科技是一家服务全球政府和企业的大数据软件及解决方案提供商&#xff0c;主要从事数据科学基础软件与应用软件的研发与服务。一…

业务创新的利器:探索Flutter与小程序容器的融合应用

Flutter是由谷歌开发的开源用户界面&#xff08;UI&#xff09;工具包&#xff0c;用于构建跨平台移动应用程序、Web应用程序和桌面应用程序。它采用一种现代化的方式&#xff0c;使用单一代码库可以同时构建iOS和Android应用&#xff0c;并且能够实现高性能、高保真的用户界面…

国产十大骨传导耳机品牌,分享几款实战性高的国产骨传导耳机

骨传导耳机在运动过程中不需要通过耳部进行传音&#xff0c;所以佩戴舒适度高&#xff0c;而且不会像入耳式耳机那样堵住耳朵&#xff0c;导致耳部的不舒适感&#xff0c;并且可以清晰的听到外界声音。骨传导耳机适合于户外运动、骑行、跑步等运动场景。此外&#xff0c;骨传导…

调用聚合数据API获取新闻头条

调用聚合数据API获取新闻头条 1&#xff0e;作者介绍2&#xff0e;API和聚合数据API的介绍2.1 API简介2.2 聚合数据API 3&#xff0e;实验过程介绍&#xff0c;完整实验代码&#xff0c;测试结果3.1参数说明3.2获取代码3.3代码实现3.4问题与分析 1&#xff0e;作者介绍 姚嘉欣…

【Python】python进阶篇之模块化编程

模块与包 模块化编程 与java中的import功能类似&#xff0c;在python中&#xff0c;一个.py文件就是一个模块。 ⚠️&#xff1a;模块名称不要与python自有模块名称相同。 模块的导入 导入Python中自有的包 导入语法和前端的模块化开发语法很像 import math from math im…

学习Vue(4)

文章目录 路由简介基本使用模式设置注意点 组件一般组件路由组件 多级路由总结 路由传参参数传参query总结 params参数总结 命名路由总结 props对象写法设为trueprops为函数 按钮实现跳转和前进后退独有的生命钩子activated()deactivated() 路由守卫前置路由守卫后置路由守卫独…

基于OpenCV的人脸对齐步骤详解及源码实现

目录 1. 前言2. 人脸对齐基本原理与步骤3. 人脸对齐代码实现 1. 前言 在做人脸识别的时候&#xff0c;前期的数据处理过程通常会遇到一个问题&#xff0c;需要将各种人脸从不同尺寸的图像中截取出来&#xff0c;再进行人脸对齐操作&#xff1a;即将人脸截取出来并将倾斜的人脸…

JVM-java对象内存分布(二)

目录 一、栈针 二、java 对象内存分布 1、那何为java内存对象布局&#xff1f; 2、什么是jvm的内存模型 1、如果我们新生代&#xff0c;一直创建新对象&#xff0c;此时我们新生代不够用了怎么办&#xff1f; 2、那么为什么大部分对象的生命周期比较短呢&#xff1f;这个…

HCIP-7.3QinQ技术原理、配置链路聚合Eth-Trunk

HCIP-7.3QinQ技术原理、配置&链路聚合Eth-Trunk 1、QinQ概述1.1、QinQ实现方式&#xff1a;1.2、QinQ封装结构&#xff1a;1.3、QinQ的分类&#xff1a;1.3.1、基于端口的QinQ1.3.2、灵活QinQ 2、链路聚合Eth-Trunk2.1、Eth-Trunk基本原理2.2、手工聚合模式2.2.1、配置接口…

集团公司该如何构建信息化系统?

干货文章&#xff0c;全文手码&#xff0c;花3分钟认真看完&#xff0c;绝对有收获&#xff01; 前言&#xff1a; 信息化系统是管理体系的延伸&#xff0c;如果一家集团企业想要走向信息化&#xff0c;首先得考虑的是&#xff0c;企业内当前是否已经存在完备的信息化管理制度…

《面试1v1》SpringMVC

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…

【电子取证篇】电子数据取证标准(国家标准GB/T)

【电子取证篇】电子数据取证标准&#xff08;国家标准GB/T&#xff09; ​ 电子数据取证国家标准&#xff0c;此次更新把名称由"电子物证"更改成了"电子数据"&#xff0c;避免了不同部门不同行业因为不同叫法而辩论个不停&#xff0c;后续标准的更新应该会…