Algorithms is an educational collection of data structures and algorithms implemented primarily in Java. Its goal is to demonstrate common techniques through clear and elegant reference implementations. The repository covers trees, heaps, hash tables, graphs, dynamic programming, geometry, searching, sorting, strings, and many other topics. Complexity information is documented for many algorithms to help users understand performance characteristics. Implementations can be compiled with a standard JDK or managed and tested through Bazel. Many topics also include companion video explanations for learners who want additional conceptual guidance.