Epidemic Processes on Complex Networks: Modelling, Simulation and Algorithms