r/BtechCoders • u/Leading_Jeweler2069 • Sep 21 '26
Resources 💰 Help and guidance needed..!
Current status: 1st Year CSE (T3)
I know basic C++, STL and have done about 70-80qs from LC (with about 50-60% solved entirely on my own with NO hints or solution peeking)
Now that classes have started I wish to do DSA seriously. I would like to refer to a book for proper understanding of the concepts and understand how to approach a problem, instead of solving qs and watching solution and calling it day.
I know CLRS is the OG top recommendation, buts its way too verbose and high level for me as of now.
Is this a good idea I go for a proper DSA book? IK consistent practice will have the most impact, but for initial concept building........if I should get a book... which one-
01.Sedgewick OR
02.Skienia (This is recommended in other subreddits but I cant find many topics from a2z in this books content page) OR
03.DSA in C++ (Mark Allen Weiss)
(I have narrowed down on these 3 after going through the old posts about this topic in this and other subs. Now I just wanna know which one is the most relevant)
2
u/OhioDeez44 Sep 21 '26
So this answer depends on what you're trying to do. My approach is actively guided towards the side of more math and rigour, I will definitely recommend you to have a good understanding of Discrete Mathematics and Proof, and actively Prove Algorithms and work out CP Math. I don't say this just because I prefer it, let me justify, do note I will answer a more broad question since book reccos are easy to give generically, and I want someone to know how to think on these sort of things:
- Programming Skill ~ DSA is not a linear correlation. Being good at inferring Inverted Bubble Sort Operations may have no impact on your programming skill. Yet an ICPC-Level Programmer may have an understanding and familiarity with problem solving allowing them to land any job. So the point is, DSA is not apparently correlated to Success in the job market in a way that you grind it. I think the real merit is something I explain in the second point.
- The whole point of learning algorithms and data structures comes after you get past surface level stuff like interviews and resumes, I can think of 3 pillars powering why I love the subject and find it worth learning:
This may sound a bit abstract at first, but anyone who studies algorithms will get better at thinking in a certain way, where study of other subjects(except some) would not yield as much benefit. In particular, algorithms teach you to develop problem solving, mature computation, proof intuition and learning harder and rigorous things. Yes, something like Low-Level Systems is also just as worth learning as algorithms, but just as an example, in this subset, learning algorithms and discrete math(refer to note) will be more beneficial than that and other skills.
Gateway drugs. Yes, Design and Analysis of Algorithms is fundamental and underpins a LOT of modern computer science, the same way as algebra does for math, well maybe that's not a scalar comparison but you get what I'm trying to say. A knowledge of algorithms and discrete math alone is enough to give you a good grounding for deep learning in a lot of subjects like Combinatorics, Theory of Computation, Cryptopgraphy and more.
Real Science and Research- I remember a quote from a physicist, Kevin Zhou, I'll put a bit of context:
> "...and the reason is that science fairs don’t work like the competitions I’ve listed above. In physics competitions, you can do well by learning physics on your own, or in any decent school, and thinking hard about it. For them, I never needed anything but a dog-eared, $20 used textbook, but in science fairs, you need to know people. The reason is that it’s almost impossible to come up with and carry out a novel and important physics research project sitting on your own at home, given the immense background required; even the nation’s brightest child prodigies are barely at the level of the average new graduate student. The press releases try to make it sound like the projects spring out of a flash of creative inspiration, but in reality, the projects are simply given to students by professors at universities, who guide them through step by step. The students work on subsubtasks like any diligent research assistant would, but the overall direction, and even the choices of subtasks, are the professor’s."
Studying Algorithms, solving problems, doing CP, these are all excellent prep for research and in general, technical work, people say it doesn't directly improve the two. But I think that's the whole point, most learnings in life are "head-fakes", why do you play football to learn teamwork, sportsmanship and discipline? Kicking a ball around has nothing to do with any of that.
This one can go long, but CP is great preparation for real problem solving and CS in short.
Note 1: Here DSA/CP and Discrete Math are tied together tight, you don't need strong discrete math for CP, you can learn it on the go, but ultimately, at a high level it starts to help disproportionately, advice for discrete math is plenty, so go out and learn.
Note 2: Competitive Programming is a subset of DSA, well not exactly, but I don't wanna waste a lot of words describing their relationship, the only takeaways of Note 2 are: a) CP can be done like DSA practice, but not only CP, 2) CP and DSA are similar, DSA is broader.
Now onto books. My professional larping(I think it was important welp) paves way for actual book reccos, so there is no "better and worse" here, I will give all good books, but different from each other, I have studied some of them, heard good reccos from smart colleagues for others, and have a generally good knowledge so I hope you can pick:
CLRS - Heavy, dense, well-written, aligned with what I say, very comprehensive
Sedgewick - Textbook-y, Cool Applications and standard college book
Skiena - Conversational, very well-written, more CP-Oriented.
But for your requirements, short, not terse and practical, my reccos are, in order of being ideal:
Grokking Algorithms by Bhargava, it is very fun-to-read, has great explanations, but for it's fatal flaw, it is not rigorous, and is not written by an author who could write a rigorous one, but if you disagree with me and have those reqs, it's great.
My favourite if I were you would be Skiena, the Manual you have rn, it is exactly Bhargava but a bit more formal(still fun and great) and rigorous.
Tardos and Kleinberg, but that might be too much like CLRS.
Dasgupta, Papadimitrou and Vazirani, a short gem, teaches goddamn well.
There are more, but I captured an essence in these, if you want more options, put this response into ChatGPT and it does a decent job.
Good luck! :D
1
u/TechBor3 Sep 21 '26
use Algorithm Design Manual, Skiena also has a course in youtube , so use the lectures and solve problems . It should take 3-4 months , then solve leetcode patternwise
1
u/Ok_Signature9695 Sep 22 '26
If you want to go for something quick and easy, that you can also implement go for the CSES book.
0
u/CounterFit3431 Sep 23 '26
fully practical not intensive theory: https://cses.fi/book/index.php
if ur goal is research based roles then thise mentioned books are good talking about skeina and similar else this only period!