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

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

相关推荐
会编程的土豆1 分钟前
【数据结构与算法】 树
数据结构·算法
LSL666_10 分钟前
Redis值数据类型——hash
redis·算法·哈希算法·数据类型
_下雨天.10 分钟前
LNMP架构学习笔记
笔记·学习·架构
喵喵蒻葉睦11 分钟前
力扣 hot100 滑动窗口最大值 单调双端队列 java 简单题解
java·数据结构·算法·leetcode·双端队列·滑动窗口·队列
样例过了就是过了13 分钟前
LeetCode热题100 搜索二维矩阵
数据结构·c++·算法·leetcode·矩阵
2401_8319207418 分钟前
C++与Qt图形开发
开发语言·c++·算法
Shining059621 分钟前
AI 编译器系列(四)《AI 编译器中的后端优化》
linux·服务器·人工智能·线性代数·算法·triton·ai编译器
像污秽一样39 分钟前
算法设计与分析-习题8.1
数据结构·算法·dfs·dp
飞天狗11141 分钟前
最小生成树算法
算法
毕设源码-朱学姐41 分钟前
【开题答辩全过程】以 基于uniapp的云笔记系统的设计与实现为例,包含答辩的问题和答案
笔记·uni-app