算法复杂度

复杂度

  • 程序执行时需要的计算量(CPU)和内存空间(和代码是否简洁无关)
  • 不考虑网络的耗时,不考虑计算机读取硬盘的耗时
  • 复杂度是数量级,不是具体的数字,用O(...)表示,内部是一个函数表达式
  • 一般针对是一个具体的算法,而非一个完整的系统

在前端中,重时间轻空间

上图是一个复杂度表,横轴代表输入的量,竖轴代表数量级结果

时间复杂度——程序执行时需要的计算量(CPU)

空间复杂度——程序执行时需要的内存空间

数量级

  • O(1) ——代码就是平铺直叙的执行,没有任何循环。
  • O(logn)——数据量的对数,有循环,但是其中使用了二分例如二分查找算法;二分法是非常重要的算法思维,可以极大减少复杂度,而且计算量越大,减少的越明显。
  • O(n)——和传输的数据量一样,普通的循环
  • O(n*logn)——数据量*数据量的对数(循环+二分),例如快速排序算法
  • O(n^2)——数据量的平方,嵌套循环,例如冒泡排序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值