Why
- 修炼内功 ( 想成为一名优秀程序员 必备
- 用更优的方法去解决问题
- 在访问量 或 数据量 很大的时候 ( 如果 能对算法 复杂度 做优化 将会大大减少机器的运算量 )
- 大厂面试 必问
What
How
- 通过在极客时间 专栏 和 视频的学习 基本算法和数据结构 知识并做笔记
- letcode 刷题
时间复杂度
- 定义
- 时间复杂度的全称是渐进时间复杂度,表示算法的执行时间与数据规模之间的增长关系
- 时间复杂度的全称是渐进时间复杂度,表示算法的执行时间与数据规模之间的增长关系
- 一般情况下,只要算法中不存在循环语句、递归语句,即使有成千上万行的代码,其时间复杂度也是Ο(1)
空间复杂度
- 定义
- 渐进空间复杂度(asymptotic space complexity),表示算法的存储空间与数据规模之间的增长关系
清空数组的问题: 对于可反复读写的存储空间,使用者认为它是空的它就是空的。如果你定义清空是全部重写为0或者某个值,那也可以!写某个值和写任意值在这里有区别吗,使用值只关心要存的新值