【恋上数据结构与算法 第一季】时间复杂度 大O表示法


持续学习&持续更新中…


什么是算法

算法是用于解决特定问题的一系列的执行步骤。

使用不同算法解决同一个问题,效率可能相差非常大(比如:斐波那契数列.)。

如何评估一个算法的好坏

在这里插入图片描述

  1. 正确性、健壮性、可读性
  2. 时间复杂度(Time Complexity):估算程序指令的执行次数
  3. 空间复杂度(Space Complexity):估算程序所需占用的存储空间

根据情况可以适当地进行如下操作:

  • 空间换时间

  • 时间换空间

大O表示法

一般用大O表示法来描述复杂度,它表示的是数据规模n对应的复杂度。

大O表示法仅仅是一种粗略的分析模型,是一种估算,能帮助我们短时间内了解一个算法的执行效率。

大O的计算方法

忽略常数、系数、低阶

大O计算方法

在这里插入图片描述

对数阶的细节

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

logn推导

多个数据规模复杂度

多个数据规模

常见复杂度

常见复杂度

常见复杂度的比较

复杂度比较

可以借助该网站来对比复杂度:

https://zh.numberempire.com/graphingcalculator.php

  • 当数据规模较小时

数据规模较小

  • 当数据规模较大时

数据规模较大

最好最坏复杂度

算法复杂度通常分析的是最坏复杂度,而不能使用最好复杂度。

参考

小码哥李明杰老师课程: 恋上数据结构与算法 第一季.

liuyubobobo老师课程: 算法与数据结构体系课.


本文完,感谢您的关注支持!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值