laracarvalho / kata-machine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kata Machine

From ThePrimeagen course on FrontEnd Masters: The Last Algorithms Course You'll Need.

Exercises

Supported Algorithm

  • Insertion sort
  • Merge sort
  • QuickSort
  • Prim's MST (Adjacency List)
  • Dijkstra's Shortest Path (Adjacency List)

Supported Data Structures

  • Singly linked list
  • Doubly linked list
  • Queue
  • Stack
  • Graph with Adjacency List
  • Graph with Adjacency Matrix (untested)

How It Works

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.

Testing

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.

Help wanted

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.

About


Languages

Language:TypeScript 74.9%Language:JavaScript 25.1%