finds.dev

williamfiset/DEPRECATED-data-structures

A collection of powerful data structures

View on GitHub

★ 2,919JavaMITupdated Aug 2022

// the take

A Java data structures reference implementation that was deprecated in 2019 — the code moved to williamfiset/Algorithms. What's here is a snapshot of clean, educational implementations of AVL trees, red-black trees, Fenwick trees, suffix arrays, indexed D-heaps, and more, with accompanying slides and test coverage. It's a learning resource, not a library you'd depend on.

The indexed priority queue variants (MinIndexedBinaryHeap, MinIndexedDHeap) are better implemented here than in most textbook examples — they support efficient updates by key, which is what you actually need for Dijkstra. The hash table section covers four open-addressing strategies side by side, which is genuinely useful for understanding the tradeoffs rather than just memorizing one. Test coverage is solid for a teaching repo — nearly every structure has a corresponding test file. The suffix array implementations come in three speed tiers (Slow/Med/Fast) with the O(n log n) variant included, which most similar repos skip.

It's deprecated — the canonical home is now williamfiset/Algorithms, so any issue or PR here goes nowhere. The bundled JARs in the dependencies/ directory (including a beta JUnit) are committed directly to the repo rather than managed via Gradle properly, which is a bad habit to absorb if you're learning from this code. There's no generic interface layer — IntStack and Stack are separate classes rather than one generic implementation, which is a Java-ism that's aged poorly. The segment tree only implements a specific variant; someone looking for lazy propagation won't find it.

We read the README, the directory tree and a key source file in July 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
2,919
Forks
1,257
Language
Java
License
MIT
Last commit
12 Aug 2022

// nearby

If DEPRECATED-data-structures isn't quite it.

All repos →