Link to the course mentioned at the bottom <a href="https://www.youtube.com/watch?v=-sEdiFMntMA&list=PLFDnELG9dpVxEpbyL53CYebmLI58qJhlt" rel="nofollow">https://www.youtube.com/watch?v=-sEdiFMntMA&list=PLFDnELG9dp...</a><p><a href="http://courses.csail.mit.edu/6.851/spring14/lectures/" rel="nofollow">http://courses.csail.mit.edu/6.851/spring14/lectures/</a>
<a href="http://courses.csail.mit.edu/6.851/spring12/" rel="nofollow">http://courses.csail.mit.edu/6.851/spring12/</a><p>Any Demaine specific lecture is worth watching.
Regarding LPM for IP forwarding, there are similar high performance data structures: Luleå algorithm <a href="https://en.wikipedia.org/wiki/Lule%C3%A5_algorithm" rel="nofollow">https://en.wikipedia.org/wiki/Lule%C3%A5_algorithm</a> or hybrid trees <a href="http://epubl.ltu.se/1402-1544/2007/15/LTU-DT-0715-SE.pdf" rel="nofollow">http://epubl.ltu.se/1402-1544/2007/15/LTU-DT-0715-SE.pdf</a>