Data Structures And Network Algorithms by Robert Endre Tarjan