Algorithms And Data Structures by Kurt Mehlhorn & Peter Sanders