Days of Algo

inspired by Tomáš Bouda and his 100 days of algorithm challenge, my attempt on it. Besides my work, my family and other activities this challenge will take me surely longer than 100 days and it can be more or less than 100 algorithms. So be kind.

Why use Python

The individual challenges should take as less time as possible therefore a high level language such as Python and all of its available PIP packages and the fantastic note-like development IDE Jupyterlab and VS Code as sidekick, the focus isn’t on the tools but the algorithms.

Rules

  1. Everything can be an algo

  2. Make an effort to code everyday

  3. Focus on the challenges not the language

  4. Get every help possible

  5. Have fun 🙈🙊🙉

Algorithms

Done

#Algo

Name

Topic

Algorithm Type

✅

000

Hanoi Tower

Game

Recursive

❌

001

Matrix Chain Multiplication

Math

✅

002

Permutations

Math

Recursive

✅

003

Counting 1-Bits

Digital

Dynamic Programming

✅

004

Eratosthenes Sieve Prime Numbers

Math

Brute Force

✅

005

Binary Addition FSM

Digital

Finite State Machine

✅

006

Binary Search

Searching

Divide and Conquer, Recursive

✅

007

Union Find

Graph

Iterative

✅

008

Kruskal’s Maze Generation

Graph

Greedy

✅

009

Lee’s Maze Solver

Graph

Backtracking

✅

010

Dijkstra Maze Solver

Graph

Backtracking

✅

011

A* Maze Solver

Graph

Backtracking

✅

012

Diffie Hellman Key Exchange

Cryptography

Mathematics

✅

013

Enigma Machine

Cryptography

Caesar cipher

❌

014

Sorting Algorithms

Sorting

Various

Credits