All Projects → travisjungroth → algo-drills

travisjungroth / algo-drills

Licence: MIT license
A command line tool for memorizing algorithms in Python by typing them.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to algo-drills

Algorithm-in-JavaScript
Implementing all-time classic algorithmic problems in JS
Stars: ✭ 20 (-52.38%)
Mutual labels:  algorithms-python, algorithms-and-data-structures
ctl
My variant of the C Template Library
Stars: ✭ 105 (+150%)
Mutual labels:  algorithms-and-data-structures
Algorithms-Collection-Python
Collection of Algorithms implemented in Python
Stars: ✭ 108 (+157.14%)
Mutual labels:  algorithms-python
python-data-structures-and-algorithms
No description or website provided.
Stars: ✭ 57 (+35.71%)
Mutual labels:  algorithms-and-data-structures
data structure and algorithms
This repository is related to an Arabic tutorial, within the tutorial we discuss the common data structure and algorithms and their worst and best case for each, then implement the code using Python.
Stars: ✭ 33 (-21.43%)
Mutual labels:  algorithms-and-data-structures
AlgorithmsAndDataStructure
Algorithms And DataStructure Implemented In Python, Java & CPP, Give a Star 🌟If it helps you
Stars: ✭ 724 (+1623.81%)
Mutual labels:  algorithms-and-data-structures
Data Structures And Algorithms
Data Structures and Algorithms implementation in Go
Stars: ✭ 2,272 (+5309.52%)
Mutual labels:  algorithms-and-data-structures
Harris-Hawks-Optimization-Algorithm-and-Applications
Source codes for HHO paper: Harris hawks optimization: Algorithm and applications: https://www.sciencedirect.com/science/article/pii/S0167739X18313530. In this paper, a novel population-based, nature-inspired optimization paradigm is proposed, which is called Harris Hawks Optimizer (HHO).
Stars: ✭ 31 (-26.19%)
Mutual labels:  algorithms-and-data-structures
OI-Template
Bill Yang's algorithm & data structure templates
Stars: ✭ 15 (-64.29%)
Mutual labels:  algorithms-and-data-structures
DataStructures-Algorithms
A collections of many CP-based or DSA-based Questions that is stored various algorithms and datastructures to increase coding aptitutde. Anybody with a knack for coding can feel free to add more solutions and questions in the respective folders
Stars: ✭ 15 (-64.29%)
Mutual labels:  algorithms-and-data-structures
AlmanaqueBrute
Repositório para códigos de competição
Stars: ✭ 22 (-47.62%)
Mutual labels:  algorithms-and-data-structures
shortest-path-finder
Shortest Path Finder visualizer using Breadth First Search algorithm
Stars: ✭ 195 (+364.29%)
Mutual labels:  algorithms-and-data-structures
Algorithms-Open-Source
We have a task for each skill level!!
Stars: ✭ 31 (-26.19%)
Mutual labels:  algorithms-and-data-structures
Problem-Solving
This Repository consists of my solutions💡 in Python 3 to various problems in Data Structures and Algorithms.🎖️
Stars: ✭ 17 (-59.52%)
Mutual labels:  algorithms-and-data-structures
CPTH
🌟 Competitive Programming Template Headers | With documentation, CI tests and Codecov
Stars: ✭ 23 (-45.24%)
Mutual labels:  algorithms-and-data-structures
C Sharp
All algorithms implemented in C#.
Stars: ✭ 3,310 (+7780.95%)
Mutual labels:  algorithms-and-data-structures
Interview DS Algo
Super Repository for Coding Interview Preperation
Stars: ✭ 514 (+1123.81%)
Mutual labels:  algorithms-and-data-structures
coding-for-algorithms
数据结构,剑指offer,leetcode等OJ平台刷题记录(C++/Python/Java)
Stars: ✭ 20 (-52.38%)
Mutual labels:  algorithms-and-data-structures
timetable-scheduler
⏲ An Activity Scheduling Project of Algorithms Analysis to schedule the timetable for Educational Institutes.
Stars: ✭ 26 (-38.1%)
Mutual labels:  algorithms-and-data-structures
competitive programming codebook
Programming Contest Book.
Stars: ✭ 76 (+80.95%)
Mutual labels:  algorithms-and-data-structures

Algo Drills

A command line tool for memorizing algorithms in Python by typing them. In alpha and things will change.

How it works

  1. Type out an algorithm based on its function signature and docstring.
  2. See what you did wrong or get a new algorithm.
  3. Repeat until bored.

Getting Started

  1. Clone this repo .
  2. Look at algorithms/bisect_search.py and its references.
  3. Run ./drill.py practice
  4. Fill out the newly created worskpace.py to match the code in algorithms/bisect_search.py. Do it from memory or look back at the file.
  5. Run ./drill.py practice again. You'll do this a lot. Maybe make a shortcut.
  6. If your code matches, it will be deleted and you can try again. If it's different, you'll get a diff.
  7. Check out other algorithms that look interesting in algorithms/.
  8. If you see an algorithm you like, copy-paste its ID to user_data/allowed.csv.
  9. Run ./drill.py -h to see more features.
  10. Keep going!

FAQ

Isn't memorizing bad?

No. Memorization without understanding is bad. You should understand an algorithm well before committing it to memory.

Are these the best versions of these algorithms?

No. They're versions the author likes.

Can I view my history?

Yes! Check out user_data/history.txt for a nice format. Maybe keep it open in a window for motivation.

Can I add my own algorithms?

Yes! ./drills.py new_algo --help

Can I see all the algorithms for a specific reference?

Yes! Just two books right now. ./drills.py reference --help

Can I help?

Yes! Tell me how you like this tool, submit a bug report (or fix!), tell me if you have a feature idea, show your friends, or show me your own cool algorithms. You can email me at my last name at gmail.

Made with 🌮 in Tulum, Mexico

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].