Matching theory. This includes Hall's marriage theorem, Tutte's theorem and the Gale-Sharpley stable matching theorem.
One reason to teach this subject to undergrads is that it changes the way mathematicians think about algorithms. The standard algorithms one learns in high school and undergraduate studies (Dijkstra algorithm, quicksort and the likes, etc.) are all generally looked down on by mathematicians, as they (1) seem to be just particularly efficient methods to compute some objects which are already clear to exist, (2) are usually of low complexity (much lower than that of proofs in undergraduate mathematics), (3) add no theoretical value (in fact they do, but algorithmic content in mathematical proofs is often cleverly hidden by whoever writes up the proof, so it looks like they don't). In contrast, the perfect matching algorithm (by using augmenting paths) and the Gale-Sharpley algorithm are rather nontrivial and actually are major components in the proofs of the existence of perfect matchings rsp. stable matchings.