williamfiset/algorithms is a Java project with 18.7k stars. A collection of algorithms and data structures
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Algorithms and data structures are fundamental to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. This repository's goal is to demonstrate how to correctly implement common data structures and algorithms in the simplest and most elegant ways.
🎬 Many of the algorithms and data structures in this repo have companion video explanations on the William Fiset YouTube channel — so if the code alone doesn't click, grab some popcorn and watch the videos!
Running an algorithm implementation
To compile and run any of the algorithms here, you need at least JDK version 8 and Bazel
Running with Bazel (recommended)
This project uses Bazel as its build system. Install Bazel by following the official installation guide.
Run a single algorithm like this:
bazel run //src/main/java/com/williamfiset/algorithms/<subpackage>:<ClassName>
For instance:
bazel run //src/main/java/com/williamfiset/algorithms/search:BinarySearch
Run all tests:
bazel test //src/test/...
Run tests for a specific package:
bazel test //src/test/java/com/williamfiset/algorithms/sorting:all
Compiling and running with only a JDK
If you don't want to use Bazel, you can compile and run with just the JDK:
Manacher's algorithm (finds all palindromes in text) - O(n)
Rabin-Karp algorithm (finds pattern match positions in text) - O(n+m)
Substring verification with suffix array - O(nlog(n)) SA construction and O(mlog(n)) per query
License
This repository is released under the MIT license. In short, this means you are free to use this software in any personal, open-source or commercial projects. Attribution is optional but appreciated.
Sponsor
Consider sponsoring to support my creation of educational content:
Does williamfiset/algorithms have a project website?
No homepage URL was recorded for williamfiset/algorithms in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How active is development on williamfiset/algorithms?
The most recent commit recorded on williamfiset/algorithms was 1 month ago, based on the GitHub push timestamp. The repository has 4.5k forks — one of the better signals of community interest.
Is williamfiset/algorithms open source?
Yes — williamfiset/algorithms ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/williamfiset/algorithms.
What license does williamfiset/algorithms use?
williamfiset/algorithms is released under the MIT license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
What topics is williamfiset/algorithms associated with?
Where do I read more about williamfiset/algorithms?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/williamfiset/algorithms is the definitive source.
Read full README in the tab above.
Curious whether algorithms is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about algorithms.