leetcode算法笔记-算法复杂度

对于时间复杂度,主要包括三种情况:

渐进紧确界:

O渐进上界:

渐进下界:

加法原则:不同的时间复杂度相加取阶数最高的

乘法原则:不同的时间复杂度相乘,结果为时间复杂度的乘积

阶乘时间复杂度一般出现在全排列和旅行商问题中,而对数时间复杂度一般出现在分治算法中。

对于平均时间复杂度举例

python 复制代码
def find(nums, val):
    pos = -1
    for i in range(n):
        if nums[i] == val:
            pos = i
            break
    return pos

在这个代码中,最好时间复杂度为O(1),最坏时间复杂度为O(n)。这样时间复杂度就不唯一,所以此时我们需要计算平均时间复杂度。对于这个算法总共有n+1种情况,即在n个位置上找到指定元素和最终没有找到指定元素。对其求平均即可得,所以平均时间复杂度就为O(n)。

空间时间复杂度的计算就较为简单,主要包括局部变量所占用的存储空间和进行递归时所使用的堆栈空间。 一般将算法的辅助空间作为评判算法空间复杂度大小的标准。

相关推荐
左左右右左右摇晃6 小时前
系统性能指标与损耗分析
笔记
NAGNIP7 小时前
一文搞懂CNN经典架构-AlexNet!
人工智能·算法
悠哉悠哉愿意7 小时前
【单片机复习笔记】第十六届省赛复盘
笔记·单片机·嵌入式硬件
2401_878530217 小时前
自定义内存布局控制
开发语言·c++·算法
专注VB编程开发20年7 小时前
PNG、GIF透明游戏角色人物输出一张图片技巧,宽度高度读取
算法
CoderCodingNo7 小时前
【CSP】CSP-J 2025真题 | 异或和 luogu-P14359 (相当于GESP六级水平)
算法
keep intensify7 小时前
打家劫舍3
算法·深度优先
历程里程碑7 小时前
Protobuf 环境搭建:Windows 与 Linux 系统安装教程
linux·运维·数据结构·windows·线性代数·算法·矩阵
keep intensify7 小时前
岛屿数量--
算法·深度优先
代码探秘者8 小时前
【算法】吃透18种Java 算法快速读写模板
数据结构·数据库·python·算法·spring