This project was a coursework of the postgraduate course Parallel Algorithm at the Imperial College of London.