计算机基础

计算机专业大学里基础性学科,如今回顾一下呗。在前端上有没有用暂时不好说,多一个技能多一条路呗。没事修修电脑,装装系统是吧?
image.png

计算机组成原理

操作系统

汇编语言

编译原理

计算机网络

编码

数据结构

这个数据结构就有那么点用了,js里也是需要用到很多数据结构的知识,比如时间循环中的执行栈和执行队列,算法中的执行复杂度,空间复杂度等。
image.png

结构化与非结构化

逻辑结构

线性结构(数组、链表、栈、队列)

优先级队列

词典

算法

算法,真的是程序员的基础课,也是很多逻辑处理的灵魂。算法是解决问题方案的准确而且完整的描述,通过一系列明确的指令解决问题。不同的算法在解决相同的问题时,所消耗的时间、空间效率不同。所以我们用时间复杂度和空间复杂度来衡量一个算法的优劣。
image.png

复杂度

时间复杂度是一个函数,记为 O(n),它用来描述算法运行的时间。
空间复杂度是指在算法运行中时临时存储空间大小的量度,记为 S(n) = O(f(n))。简单来说就是,我们在代码执行中所占的内存大小。

算法思想(二分、贪心、动态规划)

递归思想(爆栈)

常用算法(查找、排序、树遍历、最短路径)

leetcode 刷题

编程模式

编程模式的概念,总是要了解一下的。
image.png

面向对象 OOP

  • 类和对象
  • 三要素(继承、封装、多态)
  • UML 类图

    面向切面编程 AOP

    函数式编程 FP

  • 高级函数

  • 纯函数
  • curry
  • compose

    设计模式

    image.png