Welcome to Algorithms, Part I