【数据结构】复杂度

数据结构-复杂度

复杂度:粗略衡量算法好坏的刻度尺(工具)
两个维度: 时间和空间
时间复杂度(重点)

  1. 快慢
    空间复杂度
  2. 使用空间的情况
时间复杂度:
  • 直接利用允许时间衡量不现实,测试环境多变,不好控制变量
    前提:如果指定cpu的情况下,单位时间内运行的基本指令是固定的,算法计算的快慢和输入
    数据的规模是有关系的
    结果:如果一个算法A需要的指令比另一个算法B需要的指令个数小,就可以推出算法A的运行
    时间更快
粗略计算算法的快慢

n:数据的规模;
f(n):n的数据规模情况下,需要的大概基本指令个数;
引入大O渐进表示法
O(f(n))
1)保留最高次项
2)保留的最高次数项系数化为1

  • 复杂度: 最好 ·| 平均 | 最坏
    一般优先考虑最坏情况,再考虑平均情况,最好情况考虑比较少
空间复杂度:

O(F(n)) 在n输入规模的情况下,算法需要的最大的空间情况
1)开辟数组;
2)调用栈;(递归方法)
常见的时间复杂度
O(1) O(log(n)) O(n) O(n*log(n)) O(n^2)
递归方法的时间复杂度画调用栈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值