📌 持续构建个人的源码库,更多信息请看这篇文章。
- call / apply 实现
- bind 实现
- new 实现
- deepclone 深拷贝实现
- throttle 节流实现
- debounce 防抖实现
- URL 参数解析 实现
- Promise 实现
- async/await 实现
- 订阅/发布 实现
- 柯里化 实现
- 模板字符串 实现
- Webpack 的模拟实现
- Webpack-Plugin 的实现
- Babel 的模拟实现
- input => tokenizer => tokens
- tokens => parser => AST
- AST => transformer => newAST
- newAST => code generator => output
- Babel-Plugin 的实现
- Redux 的模拟实现
- Router 的模拟实现
- React 的模拟实现(在另外一个仓库,使用 TypeScript 实现)
- Egg.js 的模拟实现(在另外一个仓库,暂无单元测试)
- Linked List 链表
- linked list 双链表实现
- merge linked list 合并两个链表
- reverse linked list 反转链表
- Array 数组
- remove duplicate 数组去重
- two sum 两个数之和
- three sum 三个数之和
- Heap 堆
- heap 堆的实现
- get min K nums 获取一段数组里面最小的 k 个数
- Stack 栈
- stack 实现
- Queue 队列
- queue 实现
- Set 集合
- Hash Table 散列表
- Tree 树
- binary tree 二叉树
- tree traversal 二叉树的先序/中序/后序非递归遍历
- rebuild tree 重建二叉树
- invert tree 翻转二叉树
- tree symmetry 是否是镜像二叉树
- Sort 排序
- bubble sort 冒泡排序
- selection sort 选择排序
- insert sort 插入排序
- merge sort 归并排序
- quick sort 快速排序
- Divide and conquer 分治
- binary search 二分查找
- binary search tree 二叉搜索树
- Recursion 递归
- jump floor 跳台阶
- find all node path in tree 找出二叉树中结点值的和为输入整数的所有路径
- Traversal 遍历
- Double Pointer 双指针
- find Kth to tail 求链表中倒数第 k 个结点
- reOrder array 数组重排序,奇数在前半部分,偶数在后半部分
- Dynamic Programming 动态规划
- min edit distance 最小编辑距离
- min path sum 最少路径问题
- Backdate Programming 回溯算法
- solve N queens N皇后问题
- Greedy Programming 贪心算法
- distribution cookie 分发饼干
- Number 数字
- thousands format 千分位
- String 字符串
- longest common substring 最长公共子串
- KMP KMP 算法求子串的索引位置
Welcome to commit issue & pull request !