I have no background in data structures and algorithms. I have done a minimal amount of coding and am aware of syntax for Python. I have been struggling to solve questions and have followed the following strategy:
- Read the problem statement.
- Spend a significant amount of time working on a solution.
- Come up with the solution that passes all the sample test cases but usually gives the WA.
- Spend a significant amount of time reading editorials, discussions on CodeChef blog, and trying to debug my code.
- Usually, after this step, I either come up with a correct solution or I just look at the solution given in the editorial.
This amounts to spending anywhere between 3 to 6 hours on a problem. I think I can do better. I was wondering should I read a book or follow a course online to increase my understanding of concepts and increase my efficiency as well. I had two courses in mind:
- Introduction to Algorithms by MIT OCW.
- Data Structures and Algorithms by IIT Delhi NPTEL.
Any ideas which course is a better one?
Any ideas if there is a book that I can follow?
I was thinking on even days of the month, I’ll code, and on the odd days, I’ll watch conceptual videos. Does this approach make sense?
Any other suggestions are also welcome.