数据结构和算法

1、重点

算法复杂度:空间、时间
算法思维:贪心、二分、动态规划
常见数据结构

1-1、算法复杂度

  • 什么是复杂度
  • 时间复杂度
  • 空间复杂度

在这里插入图片描述

1-1-1、什么是算法复杂度?

  • 程序执行时需要的计算量(cpu)和内存空间(和代码是否简洁无关)
  • 复杂度是数量级(O)(方便记忆、推广),不是具体的数字
  • 一般针对一个具体的算法,而非一个完善的系统

1-1-2、时间复杂度 - 程序执行时需要的计算量(CPU):

  • O(1):“可数的”,和输入量无关,计算一次—— 一次就够(数量级)
  • O(logn):“对数”,输入量越大,计算量越趋于平缓——数据量的对数(数量级)控制在O(logn)级别非常好
  • O(n):输入量多少计算量多少——和传输的数据量一样(数量级)控制在O(n)基本
  • O(nlogn):输入量越大,计算量越明显的增大——数据量 * 数据量的对数(数量级)
  • O(n^2):输入量,计算量是输入量的平方——数据量的平方(数量级)算法基本不可用

1-1-3、空间复杂度 - 程序执行时需要的内存空间:

  • O(1)有限的、可数的空间(数量级)
  • O(n)和输入的数据量相同的空间(数量级)

O(logn)、O(nlogn)、O(n^2)在空间复杂度中不常见
注:前端领域重时间轻空间,客户端空间一般是够用的

1-2、划重点:

  • 算法复杂度是学习算法的基础,非常重要
  • 复杂度是数量级,用O(…)表示,内部是一个函数表达式
  • 前端开发:重时间,轻空间

2、数据结构

3、算法

4、浅尝一下,从下面算法题中分析时间和空间复杂度

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值