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)。

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

相关推荐
Forrit几秒前
关于Agent的几种范式
笔记
lcj25111 分钟前
蓝桥杯C++:算法1:高精度
c++·算法·蓝桥杯
圣光SG10 分钟前
Tomcat 全面学习笔记
笔记·tomcat
2501_9383134010 分钟前
计算机网络学习笔记】初始网络之网络发展和OSI七层模型
笔记·学习·计算机网络
宵时待雨20 分钟前
C++笔记归纳15:封装map & set
开发语言·数据结构·c++·笔记·算法
啊哦呃咦唔鱼22 分钟前
LeetCodehot100-21 合并两个有序链表
算法
9359624 分钟前
练习题31-45 翻译59
c语言·算法
眼眸流转25 分钟前
LeetCode热题100(七)
算法·leetcode·c#
WWZZ202525 分钟前
Sim2Sim理论与实践1:坐标系与位姿变换
人工智能·算法·机器人·大模型·具身智能·isaac sim
yong999027 分钟前
动态四足机器人的自由模型预测控制(FMPC)MATLAB实现
算法·matlab·机器人