Skip to content
A collection of algorithms and data structures
Java Other
  1. Java 99.0%
  2. Other 1.0%
Branch: master
Clone or download
Latest commit 6c6b3fd Nov 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
com/williamfiset/algorithms correct-class-name Nov 14, 2019
javatests/com/williamfiset/algorithms correct-class-name Nov 14, 2019
references tree slides Oct 19, 2019
slides Merge branch 'master' of Oct 29, 2019
.gitignore Updated gitignore Nov 18, 2017
.travis.yml Fix breaking Travis Aug 22, 2019
LICENSE Initial commit Mar 18, 2017 Update Sep 29, 2019
build.gradle Fix breaking Travis Aug 22, 2019

Travis License: MIT

Algorithms & data structures project

Algorithms and data structures are amongst the most fundamental ingredients in the recipe for efficient code and good software design; knowledge of how to create and design excellent algorithms is an essential skill required in becoming an exemplary programmer. The goal of this repository is to demonstrate how to correctly implement the most common data structures and algorithms in the simplest and most elegant ways.


This repository is contribution friendly 😃. If you're an algorithms enthusiast and want to add or improve an algorithm your contribution is welcome! Please be sure to checkout the Wiki for instructions.

Data Structures

Dynamic Programming


Graph theory

Tree algorithms

Network flow

Other graph theory

Linear algebra



Search algorithms

Sorting algorithms

String algorithms


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.

You can’t perform that action at this time.