Algorithms and Architectures for Parallel Processing, Part II