手记

【九月打卡】第10天 前端面试技能拼图1

课程名称:2周刷完100道前端优质面试真题
课程章节:第2章 前端面试技能拼图1 :数据结构和算法(上),大厂面试必考
主讲老师:双越

课程内容:

今天学习的内容包括:
2-3 科普-时间复杂度——时间复杂度是前端非常注重的,我们说的时间复杂度说的是一个算法的时间复杂度。
2-4 科普-空间复杂度——介绍空间复杂度与时间复杂度之间的关系,前端是重时间,轻空间。

课程收获:

算法需要注意的点

  • 算法复杂度非常重要,不掌握无法学习算法。
  • 第一次接触会有难度,理解不了就背诵,待学完本章就理解了。

什么是复杂度

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

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

  • O(1)一次就够(数量级)。
  • O(n)和传输的数据量一样(数量级)。
  • O(n^2)数据量的平方(数量级)。
  • o(logn)数据量的对数(数量级)。
  • O(nlogn)数据量数据量的对数(数量级)。

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

  • O(1)有限的、可数的空间(数量级)。
  • O(n)和输入的数据量相同的空间(数量级)。
  • 如果没有复杂度的概念和敏感度,写程序是非常危险的。
  • 例如,代码功能测试正常,但数量大了,程序就会崩溃。
  • 对于前端开发非常重要,尤其是时间复杂度。
  • 达到O(n^2),算法基本是不可用的。

重点

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

今天的 学习了时间复杂度和空间复杂度的简单介绍,突然有些明白为什么有时候写代码时,浏览器崩溃的原因了,的确需要对复杂度有一定的概念和敏感度,这样写程序才能更强壮。

下一步就是 初步学习算法了。今天学习就先到这里吧。

坚持打卡,坚持学习,未来可期,加油😀~

0人推荐
随时随地看视频
慕课网APP