Problem Solving Using Data Structures