Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Solved (and usually heavily documented) online judge and classic CS problems as well as various data structure implementations - almost exclusively in C++.

The purpose of this repository is to act as a curation of

  • Classic computer science algorithms (things like searching, sorting, knapsack, binary exponentiation, etc.)
  • Solved online judge algorithms from sources such like Leetcode, Hackerrank, UVa, and Google Code Jam.
  • Datastructure implementations.

The code in this repository is intended to be heavily documented and easily understood so that the understanding of techniques and concepts is easily transferred. Inside the src folder you'll see the folders algorithm_practice and datastructures. The contents of these folder is pretty obvious, but each one has its own accompanying documentation to further explain the file structure and organization involved.