keon/algorithms

Minimal examples of data structures and algorithms in Python

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 46 minutes ago
Added to GitGenius on September 2nd, 2026
Created on November 17th, 2016
Open Issues & Pull Requests: 4 (+0)
GitHub issues: Enabled
Number of forks: 4,715
Total Stargazers: 25,540 (+0)
Total Subscribers: 617 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Algorithms is a Python library providing minimal, clean implementations of data structures and algorithms designed for learning and reference.

The project addresses the need for clear, understandable implementations of fundamental computer science concepts. Each implementation is self-contained with docstrings, type hints, and complexity notes, making the code readable and educational rather than optimized for production use. The repository covers a broad range of topics including sorting, searching, graph algorithms, dynamic programming, backtracking, and string matching, alongside core data structures like trees, heaps, hash tables, and linked lists.

This tool suits developers learning algorithms, preparing for technical interviews, or needing a reference implementation to understand how a particular data structure or algorithm works. The self-contained nature of each file means you can study individual implementations without navigating complex dependencies. The project is not intended as a replacement for optimized libraries used in production systems, but rather as an educational resource where clarity and comprehensibility take priority.

The project maintains a stable, focused scope with implementations covering AVL trees, B-trees, binary search trees, segment trees, tries, union-find structures, and many others. Development activity shows consistent attention to code quality through documentation and type hints, with test coverage included for validation. The repository remains actively maintained with updates addressing code clarity and correctness rather than pursuing rapid feature expansion.