Data structures and Problem-solving