Algorithms Part I - Design & Analysis