Implementations of algorithms discussed in the Roughgarden Coursera course, "Algorithms: Design and Analysis, Part 1"