explaingit

coells/100days

7,489Jupyter NotebookAudience · developerComplexity · 1/5Setup · easy

TLDR

Collection of Jupyter notebooks implementing one algorithm per day for 100 days, classic algorithms in Python with explanations and interactive charts, written as a personal learning challenge with companion Medium articles.

Mindmap

mindmap
  root((100days))
    Content
      100 algorithms
      Daily notebooks
      Medium articles
    Tech
      Python 3
      Jupyter Notebook
      Bokeh charts
    Topics
      Sorting algorithms
      Graph algorithms
      Classic problems
    Setup
      Anaconda install
      Run notebooks locally
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Browse Python implementations of classic algorithms with inline explanations to study algorithmic thinking at your own pace.

USE CASE 2

Run interactive Bokeh chart notebooks locally to visualize how sorting or graph algorithms work step by step.

USE CASE 3

Use a specific notebook as a concrete starting point before implementing a similar algorithm yourself.

Tech stack

PythonJupyter NotebookAnacondaBokeh

Getting it running

Difficulty · easy Time to first run · 30min

Bokeh interactive charts do not render on GitHub, must run notebooks locally after installing Anaconda.

No license information found in this repository.

In plain English

This repository holds Jupyter notebooks written as part of a personal challenge to implement one algorithm per day for 100 consecutive days. The author documented the journey in a series of articles on Medium, and the notebooks contain the actual Python code that accompanied each article. The algorithms covered span a wide range of classic topics. The code is written in Python 3 and uses Jupyter notebooks, which are interactive documents that mix code with explanations and can display charts and graphs inline. To run the notebooks yourself, you install the Anaconda distribution (a common Python environment for data work), clone the repository, and open it with the Jupyter tool. The author is upfront that the code was written quickly and should not be treated as polished or production-ready. The goal was learning and exploration, not optimal implementations. Some notebooks include interactive charts using a library called Bokeh, which do not display directly on GitHub and need to be run locally instead. This is a learning resource and personal log rather than a library or tool you would install in a project. It is aimed at programmers curious about algorithms who want to see varied implementations with accompanying explanations.

Copy-paste prompts

Prompt 1
I want to understand how merge sort works. Write a Python implementation in Jupyter notebook style with step-by-step explanation of each phase, similar to a 100-days algorithm challenge entry.
Prompt 2
Show me how to structure a Jupyter notebook that visualizes a pathfinding algorithm using Python and interactive Bokeh charts that update as the algorithm progresses.
Prompt 3
I'm starting my own 100-days algorithm challenge. Help me implement Dijkstra's shortest path in Python with clear variable names and a worked example on a small graph.
Open on GitHub → Explain another repo

← coells on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.