https://www.coursera.org/course/algs4partI https://www.coursera.org/course/algs4partII