Efficient Parallel Algorithms by Alan Gibbons & Wojciech Rytter