- run 
npm install - Select Algo/Data Structure you want to work on
 
- remove 
xfromxdescribein the.test.jsfile - Add 
.onlyto the firstdescribein the.test.jsfile - like so: 
describe.only('FANCY ALGO', () => {}) 
- run 
npm test - ???
 - Profit
 
Each folder contains the solution, an empty file, and a file for the test specs. Most files also include a README describing the data structure or algo as well as the functions you need to implement.
Most of these implementations are what I have learned from the Coursera Princton Introduction to Algos Course, Part 1 and 2, and at Fullstack Academy. Although the Coursera course is in Java, I've implemented it in JavaScript.
I have written extensive test specs so others can use this repo to do test first learning. And also to check if the functions I wrote were actually doing what they were supposed to 😂.
A couple of the algorithms and data structures do not yet have test specs. Also the README's could be better. Will get on that...eventually...
Said Stuff:
- Test Specs
 
- All sorting algos
 - KnuthShuffle
 - Heap Sort Readme
 - Graphs
- bfs
 - dfs
 
 
- Write better README's for sorting algos
 
- Suffix Tree
 - Topological Sort (using Tarjan's algorithm)
 - Dijkstra's Algorithm
 - Longest Common Subsequence (using dynamic programming)
 - Knapsack Problem (using dynamic programming)