# Algorithms

A collection of algorithms and data structures

Repository: https://github.com/williamfiset/algorithms
Canonical: https://ross.abutalabs.com/products/algorithms
Language: Java
License: MIT
License Family: permissive
Topics: algorithms, linear-algebra, graph-theory, search-algorithms, strings, sorting-algorithms, dynamic-programming, geometry, mathematics, dijkstra, search-algorithm, tree-algorithms, algorithm, maxflow, adjacency, edmonds-karp-algorithm, adjacency-matrix, nlog, matrix-multiplication, traveling-salesman
Last push: 2026-06-23T09:33:06+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 89, release rhythm 35, longevity 100
- inputs: {"age_days": 3455, "days_push": 71, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 18720, forks 4515 (observed 2026-08-28T04:11:27.058569+00:00)

## What it is
A well-documented Java library of classic algorithms and data structures (graph theory, sorting, dynamic programming, trees, geometry, etc.) with companion video explanations. It serves both as reference implementations and as an educational resource for learning algorithms.

## Use cases
- study algorithms and data structures with working Java code
- prepare for coding interviews
- find reference implementations of Dijkstra, max flow, or TSP
- learn graph theory algorithms with video walkthroughs
- copy well-tested implementations of trees, heaps, and sorting algorithms
- understand dynamic programming through examples

## When to choose
- you want clean, tested Java implementations of common algorithms
- you prefer learning from code paired with video explanations
- you need reference code for interview or coursework preparation

## When to avoid
- you need a production-ready algorithm library with package management (use a Maven artifact instead)
- you work in a language other than Java
- you need high-performance, optimized implementations rather than educational clarity

## Facets
- artifact type: learning-resource
- maturity: active
- function: math, search-engine, developer-tools
- domain: education, programming-languages, tutorials
- platform: jvm, cross-platform
- tags: data-structures, graph-theory, dynamic-programming, sorting, java, interview-preparation, computer-science, bazel, algorithms

## Member repositories
- williamfiset/algorithms (main) score 72
- williamfiset/DEPRECATED-data-structures (mirror) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:27.058569+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:01:19.391343+00:00, confidence not recorded.
  - readme: https://github.com/williamfiset/algorithms (fetched 2026-08-28T04:11:27.058569+00:00, sha bc0076f7529f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
