数据结构——算法的复杂度分析

简介: 这一节是对绪论的补充。复杂度的分析,在很多的OJ比赛中的作用很大,我们往往在做题前会事前估计和事后估计,但是一般都是事前估计。考研的人er这一块一定要掌握。算法的复杂度的分析还需要你们自己线下去进行学习。看完我的数据结构课程希望能对在数据结构学习的过程迷茫的同学带来帮助!!!

前言

这一节是对绪论的补充。复杂度的分析,在很多的OJ比赛中的作用很大,我们往往在做题前会事前估计和事后估计,但是一般都是事前估计。考研的人er这一块一定要掌握。算法的复杂度的分析还需要你们自己线下去进行学习。看完我的数据结构课程希望能对在数据结构学习的过程迷茫的同学带来帮助!!!

analysis of algorithms

很多人可能会用algorithms complexity analysis 算法复杂度分析(知道即可)

在这应该是用analysis of algorithms的概念

我们都常说一句话:条条大路通罗马,在去罗马的过程我们会有不同的道路,会有不同的交通工具。在自行车、步行和飞机的选择中,不同的道路到达的时间和用的资源不同带来不同的结果,于是我们提出了复杂度的概念。

image-20230201220335735.png

有限的资源下我们要控制时间,复杂度的分析就是为了能够选出最优的解。

(1)对于时间的分析 我们叫做时间复杂度

(2)对于资源的分析 我们叫做空间复杂度

我们就是分析一条路最高效的,而这条路就是数据结构和算法。

很浅显易懂的概念。而对于时间复杂度我们用大O来进行标记。

Big O复杂度标记符以及举例

假如有个数组:arr=[1,2,3,4,6,7,12313];之前说过数据结构就是对数组进行CRUD分析。

因为arr[0]=1,就相当于我们现在要查一个数就是1。

(0)查单个元素的值:O(1) :1就是时间T

image-20230201221713763.png

(1)那假如说我现在要查n个数字,不就是O(N)啰,即遍历这个数组。

image-20230201222150764.png

(2)假如现在我们的图copy了一份然后,每一个数都跟另一个表的数配对一遍,就是O(N^2)。还不是一一匹配,而是一个数字和另一张图的每一个数匹配。

这些知识点很重要,一定要记住。

复杂度比较函数图

在这我们要列出不同的复杂度,递归的案例就是阶乘所以时间复杂度很高。

image-20230201222714393.png

对数的复习

照顾一下数学不好的同学。

23=8 2?=8

x=by y=logbx

那log216=4;

这玩意有什么作用呢?

[1,2,3]是一个静态数组,当我们想要扩容时,我们只能重新增加一倍,即乘以2。每次扩容一被就是指数加1

第二个例子:我们现在要找一个人,即折半查找

image-20230201225637377.png

每次都是折一半,效率越高,折半查找的复杂度就是log2(N)。

看上图知,数越大的时候,越稳定

目录
相关文章
|
2月前
|
存储 机器学习/深度学习 编解码
双选择性信道下正交啁啾分复用(OCDM)的低复杂度均衡算法研究——论文阅读
本文提出统一相位正交啁啾分复用(UP-OCDM)方案,利用循环矩阵特性设计两种低复杂度均衡算法:基于带状近似的LDL^H分解和基于BEM的迭代LSQR,将复杂度由$O(N^3)$降至$O(NQ^2)$或$O(iNM\log N)$,在双选择性信道下显著提升高频谱效率与抗多普勒性能。
199 0
双选择性信道下正交啁啾分复用(OCDM)的低复杂度均衡算法研究——论文阅读
|
6月前
|
机器学习/深度学习 边缘计算 算法
NOMA和OFDMA优化算法分析
NOMA和OFDMA优化算法分析
355 127
|
3月前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
255 3
|
8月前
|
数据采集 机器学习/深度学习 算法
别急着上算法,咱先把数据整明白:大数据分析的5个基本步骤,你都搞对了吗?
别急着上算法,咱先把数据整明白:大数据分析的5个基本步骤,你都搞对了吗?
512 4
|
3月前
|
存储 边缘计算 算法
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
|
4月前
|
机器学习/深度学习 算法 5G
【MUSIC、最大似然与克拉美-罗下界】MUSIC与ESPRIT 算法来估计到达角(AoA),并尝试推导克拉美-罗下界(CRLB)以分析其性能研究(Matlab代码实现)
【MUSIC、最大似然与克拉美-罗下界】MUSIC与ESPRIT 算法来估计到达角(AoA),并尝试推导克拉美-罗下界(CRLB)以分析其性能研究(Matlab代码实现)
190 0
|
5月前
|
编解码 算法 5G
MIMO雷达空间谱估计中Capon算法与MUSIC算法的对比分析及实现
MIMO雷达空间谱估计中Capon算法与MUSIC算法的对比分析及实现
403 2
|
5月前
|
存储 监控 安全
企业上网监控系统中红黑树数据结构的 Python 算法实现与应用研究
企业上网监控系统需高效处理海量数据,传统数据结构存在性能瓶颈。红黑树通过自平衡机制,确保查找、插入、删除操作的时间复杂度稳定在 O(log n),适用于网络记录存储、设备信息维护及安全事件排序等场景。本文分析红黑树的理论基础、应用场景及 Python 实现,并探讨其在企业监控系统中的实践价值,提升系统性能与稳定性。
175 1
|
5月前
|
人工智能 自然语言处理 算法
2025 年 7 月境内深度合成服务算法备案情况分析报告
2025年7月,中央网信办发布第十二批深度合成算法备案信息,全国389款产品通过备案,服务提供者占比超七成。截至7月14日,全国累计备案达3834款,覆盖文本、图像、音视频等多模态场景,广泛应用于生活服务、医疗、金融等领域。广东以135款居首,数字人、AI客服等C端应用主导,民营企业成主力,国企聚焦公共服务。随着AI政策推动,备案已成为AI产品合规上线关键环节。
|
5月前
|
存储 监控 算法
基于跳表数据结构的企业局域网监控异常连接实时检测 C++ 算法研究
跳表(Skip List)是一种基于概率的数据结构,适用于企业局域网监控中海量连接记录的高效处理。其通过多层索引机制实现快速查找、插入和删除操作,时间复杂度为 $O(\log n)$,优于链表和平衡树。跳表在异常连接识别、黑名单管理和历史记录溯源等场景中表现出色,具备实现简单、支持范围查询等优势,是企业网络监控中动态数据管理的理想选择。
165 0

热门文章

最新文章