algorithm
algorithm copied to clipboard
算法(第4版)TypeScript 实现
算法(第4版)TypeScript 版本
本仓库包含了 TypeScript 描述的算法与数据结构。
是我在阅读经典算法书籍《算法(第4版)》时完成的,记录自己的算法学习过程。
使用方式
Install:
yarn
npm install
Compile:
yarn start
npm start
Test:
执行上述每个算法的单元测试用例
yarn test
npm run test
队列、链表、栈
- Dijkstra 的双栈算术表达式求值算法
- 队列(链表实现)
- 栈(链表实现)
- 动态调整大小的栈
并查集
- 并查集
- 并查集(树型森林的表示)
- 并查集(加权算法)
排序
- 插入排序
- 选择排序
- 希尔排序
- 归并排序
- 快速排序
- 三指针快排
- 优先队列(堆)
- 堆排序
查找
- 符号表 顺序查找(基于无序链表)
- 符号表 二分查找(基于有序数组)
- 二叉查找树
- 红黑树
图
- 无向图(邻接表表示)
- DFS 深度优先搜索
- BFS 广度优先搜索
- 连通分量
- 符号图
- 有向图
- 有向图的可达性
- 有向图中深度优先搜索的顶点排序
- 拓补排序
- 有向图的强连通分量
- 最小生成树的 Prim 算法
- 最小生成树的 Kruskal 算法
- 最短路径 Dijkstra 算法
- 无环加权有向图的最短路径算法
字符串
- LSD(低位优先的字符串排序)
- 基于单词查找树的符号表