【算法】深入掌握算法系列

JavaScript-Algorithms - 题源地址
labuladong的算法小抄 - 好的算法学习资料

前言

作为业务开发,虽然在平常开发中很少写算法,但当我们需要深入框架、开发语言、开源库时,懂算法将大大提高我们看源码的能力。例如 :

  • virtual-dom diff 算法做了一些约定,后将原先 O(n3) 的时间复杂度降到了O(n) ,核心原理就是一个树的深度优先搜索
  • babel 这些就是一些编译原理的 parser 生成抽象语法树的知识,再将抽象语法树进行转换操作生成文件
  • 浏览器的 history,底层可以使用栈来实现
  • webpack 中利用 tree-shaking 优化
  • v8 中的调用栈、消息队列等等

这些就大量使用了算法,看懂了就能更好的了解它们的性能,更高效的解决问题,提升我们的代码质量与思维视野,进阶到更高 Level,赚更多钱💰💰💰。

计划

给自己定个小目标,把下面深入掌握算法的小题全过一遍,每天最少一题;
目前先附上源地址,后续自己做好后更新题目后的链接地址,并标记清除,比如 ✅图解leetcode88:合并两个有序数组

深入掌握算法

分为四个模块:数据结构、算法、设计、基础架构等

数据结构

数组篇

链表

字符串

队列

哈希表

二叉树

二叉树的遍历
重构二叉树
二叉树进阶

算法技巧

排序算法

查找算法

动态规划

贪心算法

回溯算法

设计

posted @ 2021-10-01 17:55  小楠瓜  阅读(93)  评论(1编辑  收藏  举报