Implementations of algorithms for coursera algorithms 1 course