The only way to meaningfully learn data structures and algorithms is to see them applied to real-world problems and to use them to solve real-world problems. Coding them up into working applications -- even if they contrived -- will reinforce the theoretical knowledge such that you will stand a better chance of retaining the ideas and integrating them into your personal problem-solving approach.