Large-Scale Graph Algorithmics: Theory and Practice