I'm getting back into data structures and algorithms after being stuck on arrays and linked lists for quite a while. I'd like advice on building a consistent study routine, deciding whether to learn system design alongside DSA or focus on DSA first, and finding a practical roadmap or reliable resources. I'm also interested in ways to connect the concepts to real projects so they're easier to understand and remember.
2 Answers
Try pairing each topic with a small project that actually uses it. Implementing a structure or algorithm in something practical tends to make it stick much better than solving disconnected problems.
It helps to understand what problem each structure solves instead of filling them with random data just for practice. Small projects, such as a card game, can give you a reason to implement searching, sorting, queues, or other structures yourself. For trees, an arithmetic-expression parser is a useful exercise because it involves parsing, operator precedence, and evaluation. A good approach is to choose one solid algorithms book, work through it chapter by chapter, and complete the exercises before moving on. I’d focus mainly on DSA until the fundamentals feel comfortable, then add system design gradually as you build larger projects.

Do you have a particular algorithms book you’d recommend?