TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How to self learn algorithms and data structures?

10 pointsby todd_wanna_codeabout 7 years ago
Inspired by this post here[0].<p>I am a self taught developer (actually, not a developer yet, just trying my best to be one). I have attempted to get started with algorithms and data structures before but failed miserably then. My first attempt was with CLRS around a year back. The book turned out to be a bit too technical. I reasoned it maybe a little early for me to look into algorithms, after all I was only months into learning programming. Now I am geared up for a second try, and I am on the lookout for a new approach.<p>[0]: https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16562173

4 comments

brudgersabout 7 years ago
Failing miserably is only miserably if you didn&#x27;t learn anything. It&#x27;s hard, but you can take as many tries as you want.<p>Good luck.
locococoabout 7 years ago
I’d give taking a class in a community college a try, most should offer a course similar to the one in the link.<p><a href="http:&#x2F;&#x2F;www.nvcc.edu&#x2F;academic&#x2F;coursecont&#x2F;summaries&#x2F;CSC202.htm" rel="nofollow">http:&#x2F;&#x2F;www.nvcc.edu&#x2F;academic&#x2F;coursecont&#x2F;summaries&#x2F;CSC202.htm</a>
samrohn778about 7 years ago
<a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=HtSuA80QTyo&amp;list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=HtSuA80QTyo&amp;list=PLUl4u3cNGP...</a> This will get you started.
protonimitateabout 7 years ago
Been looking to self teach DS&amp;A as well. There&#x27;s a loooot to it.<p>Here&#x27;s what I&#x27;ve gathered from browsing around:<p>- MOOC - MIT OCW Introduction to algorithms (python)<p>- MOOC - Princeton Algorithms I and II (on coursera) (java)<p>- Book - CLRS - as you said, technical, but seems to be the standard text. I am not currently using this one but planning on going back once I get a fundamental understanding.<p>- Book - Algorithms - by Robert Sedgewick and Kevin Wayne -- the text that goes with the Princeton MOOC course. Also technical, doesn&#x27;t seem as &#x27;hard&#x27; as CLRS. YMMV.<p>- Book - Algorithm Design Manual -- by Steven Skiena - I am currently using this book in conjunction with some other resources. In depth, technical, good exercises, but the writing and layout are pretty easy to get through (coming from someone with 0 college math experience). It is slow, as I have to keep breaking away to refresh on topics I&#x27;m not familiar with, but is keeping me interested. I believe Prof. Skiena also has lecture series available for free.<p>- Book - Grokking Algorithms - by Aditya Y. Bhargava -- Very topical overview of DS&amp;A. Simple examples, plain English. I read this first as a &#x27;base layer&#x27; before going to the Skiena book. It will give you a nice brief intro about DS&amp;A, so at the very least you&#x27;ll be familiar with the terms people use. Quick read.<p>- Book - Cracking the Code Interview -- might be an obvious suggestion. IME it won&#x27;t provide a good understanding of DS&amp;A, but has good practice problems and re-explains concepts in a way that makes sense (especially for interviewing).<p>Personally I don&#x27;t learn through youtube&#x2F;videos&#x2F;lectures so I am doing this: - Read Grokking Algorithms (do all exercises) - Started the Algorithm Design Manual (Skiena) at the same time as starting the MIT OCW. Reading the chapters that relate to the course topics by week. Doing all the homeworks assigned, etc. - Reading CTCI chapters as re-fresher a few days to a week after covering similar sections in the MIT OCW&#x2F;Skiena text. Doing 3-5 chapter exercises.<p>What I&#x27;ve found is that DS&amp;A is practice, practice, practice. The concepts themselves aren&#x27;t too terrible to grasp. (For me) it is difficult to figure out when and how to apply those concepts to problems.<p>I would highly suggest starting with one of the MOOCs and following along with all the assigned work. It can be overwhelming but it seems like the most well-rounded approach. Reading just the texts works for some people but I find it easy to just read straight through and not check that I&#x27;ve absorbed anything.