One of my personal favorites is a link / cut tree , a data structure for splitting a graph into a family of oriented trees. This allows you to solve network flow problems asymptotically faster than more traditional methods, and can be used as a more powerful generalization of the union / find structure that you may have heard about before.
source
share