Hey folks, I'm really interested in diving into Data Structures and Algorithms (DSA) from the ground up, but not through the typical lens of programming or interview prep. I want to take my time to truly understand the algorithms, their underlying intuition, proofs, and basic pseudocode. It feels like most resources out there only focus on memorizing patterns for coding interviews. I'm looking for a more conceptual approach since I'm interested in the research aspects of traditional computer science. Any thought on where I should start?
5 Answers
Just curious, why the interest in the research side? It usually requires at least a bachelor’s degree, and often a PhD. DSA research is a tough area to break into. Just something to think about!
I feel you! Sometimes just pursuing knowledge is the best path.
I totally get where you're coming from! I've been on the hunt for a good DSA book without that coding bias for ages too. It’s tough because DSA is often tied heavily to programming. I’ve found some textbooks that use real-life examples like dominos and card games, which can help with understanding. If you don't mind a practical angle, these analogies can actually make the concepts clearer!
What's the book for OOP you mentioned? Just curious!
You might want to check out this YouTube playlist I found: [link]. It’s a bit lengthy, but the guy explains concepts really well before diving into code, which might be exactly what you need.
I’ll take a look and see how he breaks down a couple of topics, thanks!
Looks promising! I'll give it a shot.
"Introduction to Algorithms" by T.H. Cormen (also known as CLRS) has been recommended often and might fit your needs. It’s comprehensive and has good explanations if you're looking to grasp the concepts more generally.
I've seen CLRS pop up in discussions before! Definitely adding it to my list.
Another great resource is this YouTube playlist: [link]. It uses pseudocode throughout, and you won’t have to deal with heavy accents. Just note that the algorithms are aligned more with imperative programming languages; functional languages might differ significantly.
Thanks for that, I’ll take a look!
Nothing wrong with diverse accents as long as the teaching is solid!
I believe in learning just for the sake of learning, not everything needs an end goal.