- Insertion sort
- Merge sort
- QuickSort
- Prim's MST (Adjacency List)
- Dijkstra's Shortest Path (Adjacency List)
- Singly linked list
- Doubly linked list
- Queue
- Stack
- Graph with Adjacency List
- Graph with Adjacency Matrix (untested)
Make sure you have Node.js and yarn installed: npm install --global yarn
clone the repo and install the dependencies
yarn install
edit the ligma.config.js
file
module.exports = {
dsa: [
"InsertionSort",
"MergeSort",
"Queue",
"Stack",
"QuickSort",
"DijkstraList",
"PrimsList",
],
}
create a day of katas, this will use the list in the ligma.config.js
.
yarn generate
this will progressively create folders named
src/day1
src/day2
...
yarn generate
will also update the tsconfig.json
and jest.config
to point
the latest day
folder via tspaths. This allows us to avoid updating anything
for testing each day.
yarn test
I have yet to create a testing strategy for next sets of algorithms, but we will get there when i cross that bridge.
A simple way to specify test, thinking something like tests.json
and cat test.json 2> /dev/null
to specify the tests to run. tests.json wouldn't be
committed.