An exercise-based project to practice common data structures and algorithms in python. Based on ThePrimeagen's kata machine.
If I don't keep practicing data structures and algorithms, I forget it. Hence, I am building this to automate the boring parts of dsa which is designing the inteface and testing.
Clone the repo:
git clone https://github.com/try3d/kata-machine
Change into the directory:
cd kata-machine
Generate the exercise files:
python main.py generate
Start editing the files in exercises/ directory.
Start solving any question.
To run all tests, execute:
python main.py test
or to run only a specific test, run:
python main.py test :filename
NOTE: You don't have to enter the entire file name. You can fuzzy run tests. For example, linked_list can be shortened to linked or list or l.
- Linear Search
- Binary Search
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Stack
- Queue
- Deque
- Binary Search Tree
- Pre-order traversal
- In-order traversal
- Post-order traversal
- Level-order traversal
- Heap
- Dijkstra's Algorithm