Randomised And Advanced Algorithms