This is Lecture 15 of the CSE373 (Analysis of Algorithms) course taught by Professor Steven Skiena [http://www3.cs.stonybrook.edu/~ skiena/] at Stony Brook University in 2016.
The lecture slides are available at: https://www.cs.stonybrook.edu/~ skiena/373/newlectures/lecture14.pdf
More information may be found here: http://www.cs.stonybrook.edu/~ algorith/video-lectures/