// the find
williamfiset/DEPRECATED-data-structures
A collection of powerful data structures
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.