2.1 Fundamentals of Data Structures