https://courses.csail.mit.edu/6.006/fall11/notes.shtml https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/ https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/