Parallel and Distributed Algorithms and Data Structures