Algorithm/data structure implementations in Java
Top 2.5% on sourcepulse
This repository provides a comprehensive collection of fundamental algorithms and data structures implemented in Java, aimed at developers and students seeking clear, elegant, and correct examples for efficient coding and software design. It serves as a valuable resource for understanding and applying core computer science concepts.
How It Works
The project meticulously implements common data structures (e.g., balanced trees, heaps, hash tables, tries) and algorithms across various domains like dynamic programming, geometry, graph theory, and string manipulation. Implementations prioritize clarity and correctness, often including complexity analysis and multiple approaches for a single problem (e.g., different sorting algorithms or graph traversal methods).
Quick Start & Requirements
./gradlew run -Palgorithm=<algorithm-subpackage>.<algorithm-class>
./gradlew run -Palgorithm=search.BinarySearch
javac -sourcepath src/main/java -d classes src/main/java/<relative-path-to-java-source-file>
java -cp classes <class-fully-qualified-name>
Highlighted Details
Maintenance & Community
The repository is maintained by WilliamFiset, with contributions welcomed. There are links to forks in other languages (C++/Python, Rust).
Licensing & Compatibility
Limitations & Caveats
Some algorithms are marked as "[UNTESTED]". The primary implementation language is Java, though community forks exist for other languages.
7 months ago
1 day