A collection of classical data structures and algorithms implemented in Typescript. Click the 📹 emoji for tutorials. View the entire series in order here.
The repository's primary goal is educational. Hence, all implementations include a prolific number of comments which guide the reader.
You can use this package in your projects if you so wish. Test coverage will be kept at 100%. To install the package, use npm or yarn:
npm install dsa-ts --save
yarn add dsa-ts
- Sequences
- Priority Queues
- 📹 Binary Heap
- D-Heap
- 📹 Indexed Binary Heap
- Mergeable Heaps
- Search Trees
- Hash Tables
- Sorting
- Searching
- Backtracking
- Dynamic Programming
- Greedy
- Graph Theory
- Minimum Spanning Trees
- Shortest Paths
- All-Pairs Shortest Paths
- Maximum Flows and Minimum Cuts
- Randomization
- Linear Programming
- Fundamental Data Structures
- Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
- Algorithm Design by Jon Kleinberg and Éva Tardos
- Algorithms by William Fiset
- Stanford CS 166
- Harvard CS 224
This repository is released under the MIT license. In short, this means you are free to use this software in any personal, open-source or commercial projects