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