I've finished learning C++ through LearnCpp and now want to begin data structures and algorithms. I understand that I'll need to balance DSA with other responsibilities, but I'm unsure which resource or study path to follow. Some popular instructors teach DSA alongside C++, while I'm already comfortable with the language. I'm considering Abdul Bari, GeeksforGeeks, or using different resources for different topics. I'd appreciate advice on building a solid foundation and practicing effectively. I've only completed one very small C++ project so far.
3 Answers
You can also use a standard algorithms textbook such as Data Structures and Algorithm Analysis in C++. Videos are helpful for intuition, but a book gives more complete explanations and exercises. Use coding platforms for practice, but treat them as the application stage—the foundation should come from learning and implementing each concept first.
A good routine is to study one topic, implement the structure or algorithm yourself in C++, and then solve a small set of problems on it. Don’t begin by randomly attempting difficult problems. For example, after learning binary search, write it from scratch and solve several progressively harder variations. Keep notes about patterns, time complexity, and mistakes so your practice becomes cumulative.
Start with one structured course instead of jumping between several channels. Learn complexity analysis, arrays, strings, linked lists, stacks, queues, recursion, trees, heaps, hash tables, graphs, sorting, and searching in that order. Abdul Bari is useful for understanding concepts, while GeeksforGeeks can work as a reference and practice source. Since you already know C++, focus on the DSA ideas rather than repeating basic language lessons.

That makes sense. I was mainly worried about missing the concepts that are needed before solving problems, so I’ll follow a structured sequence first.