These are my answers for Prime's FrontendMaster's course. It includes both the instructor's code and those not explicitly completed in the coursework. My work is completed using Class-based notation, but it should be easily convertible to Type-based notation (as is the case w/ the instructor's format).
This is only due to familiarity, and I probably should've completed them using Types given that the course is based on Typescript. That said, it can be completed using other language and format structures as well. Regardless, the tests are 🟩.
I've also included diagrams for most, if not all, course sections in the following repo. They're created using Excalidraw, which you can view within VSCode using the Excalidraw extension.
diagrams/
These diagrams closely resemble Prime's. As 🔥 as they were originally, they could be a bit hard to read so I figured it'd be nice to clean them up. Good luck!
Lengthy Instrumentation Generating Massive Anticompetitive Computational Help for Intermediate Coders // n9
Literal Improvement Gaining Master and Tutelage on Algorithms Let's Intelligently Generate Multiple Algorithm Training Assessments // permdaddy
Studious Users Get Major Abilities. New Useful Training for Students
Learn Intermediate Groundbreaking Massive Algorithms. Free Algorithm Research & Training System
make an issue and we will come up with the potential name.
I have just started to add algorithms, so the number of supported algorithms is limited at the moment, but will grow fairly quick.
OUT OF DATE. We have quite a few more. need to update
- 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 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.