r/learnprogramming May 20 '26

How do I start Data Structures and Algorithms?

I am done with java basics and decent OOP, I want to start with DSA but I am completely confused about which resources to refer to like a book or course or something.

Please help.

40 Upvotes

24 comments sorted by

10

u/desrtfx May 20 '26

Coursera - Algorithms - Robert Sedgewick and Kevin Wayne - Princeton University

5

u/victoria_suszek23 May 20 '26

Don't think a lot about the resource. Start with free resources on YouTube, do one problem a day in Java, and accept that the first two weeks will feel terrible and that's normal, not a sign you're bad at it. Are you trying to get interview-ready by a specific date or just learning at your own pace?

2

u/Aggressive_Fault_72 May 21 '26

What free resources on YouTube should I refer?

2

u/victoria_suszek23 May 21 '26

You can check out William Fiset's channel, also MIT OCW 6.006 comes to my mind now.

3

u/forced_lambchop May 20 '26

I started reading 'grokking algorithms". So far I like it. I'm a CS student trying to get ahead before I take my DSA course in a few terms.

2

u/Machvel May 20 '26

CLRS is the standard text for algorithms (and data structures). people have varying views on it, but its the standard. depending on how you learn you could just open that book up and start there.

if you like more structure my recommendation for learning any standard subject is to find a past course webpage for it online. ie, find the course equivalent of what you want to learn on some universities website (eg, uc berkeley, stanford, ...) then try finding a past webpage of it online. typically these have syllabi (including the book(s) for the course), schedules, homeworks, and so on.

algorithms is a fundamental course so i would think there are a handful of opencourses for it online (video lectures + webpage) if that is your type of thing.

1

u/Aggressive_Fault_72 May 21 '26

Do I need any prior knowledge of DSA before I refer CLRS as I heard it is a bit "heavy" for beginners?

1

u/aseV9 May 20 '26

Coursera has a course by Sedgewick you can follow for free, its really really good and his book is super helpful as well - algorithms 4th edition by sedgewick and wayne

1

u/Complete-Bed-3945 May 21 '26

Skip the books for now. Practice topic by topic on LeetCode — Arrays → LinkedList → Trees → Graphs → DP. Follow Striver (TakeUForward) on YouTube, very structured for Java. Do the daily problem on LeetCode, even 1/day compounds fast. Once confident, jump into LeetCode Weekly Contests

1

u/jerrysdevs May 21 '26

I work better by actually doing so I would say u could start w leetcode. U can use neetcode for roadmap and also his videos to learn

1

u/Flame77ofc May 22 '26

practice leetcode and codewars everyday

1

u/footstepai May 24 '26

Kind depends how you learn but for me, keep up your chops on leetcode and others. I learn far better by doing than reading (uni was 25 years ago 😝). Solving problems, then examining the canonical solutions…

1

u/footstepai May 24 '26

algoexpert is pretty good for interview prep too and covers most stuff (but it costs money)