Algorithms
A growing reference of algorithm implementations, with parallel Python and C++ directories, explanatory notes and selected tests.
525 commits14,217 source lines
Counting scope & snapshot
All commits reachable from this default-branch revision, including merges and all authors. Physical source lines counted in each physical file, including native Astro components, tests, examples and parsed notebook code cells; excluding blanks, comments, dependencies, generated files, documentation and notebook outputs.
Counted with cloc 2.10. Revision ee9890aed7, observed . These are repository totals, not individually authored lines.
- Role
- To be supplied
- Technologies
- Python, C++, pytest
- Impact
- To be supplied
Organization
The repository is organized by topic rather than by application. Python and C++ implementations cover searching and sorting, graph traversal and shortest paths, minimum spanning trees, string algorithms and tree-based structures.
Representative implementations
The Dijkstra implementation uses a priority queue and distance relaxation. String-matching examples include KMP, alongside Z and Aho–Corasick implementations. Data-structure directories include disjoint sets, tries, Fenwick trees, segment trees and balanced search trees.
Learning through implementation
Notes sit beside the code, including comparisons of minimum-spanning-tree approaches and explanations of sorting. The Python sorting directory includes pytest coverage; selected tree implementations also have tests.
Boundaries
This is an implementation and learning collection, not a single packaged algorithm library. Coverage and interfaces vary by topic. No performance benchmark, universal correctness guarantee or test-pass claim is made by this page.