algorithm icon indicating copy to clipboard operation
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(低位优先的字符串排序)
  • 基于单词查找树的符号表