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: What's the best algorithms and data structures online course?

273 pointsby zabanaover 7 years ago

12 comments

jfaucettabout 7 years ago
I know its not an online course and its a relatively massive tome, but I&#x27;d recommend just working through &quot;Introduction to Algorithms&quot; by Cormen&#x2F;Leiserston&#x2F;Rivest&#x2F;Stein [1].<p>This book has great explanations and exercises for everything you could want to learn from the basics of sorting and algorithmic design and analysis, to graph algorithms, linear programming, and dynamic programming.<p>It lacks some degree of depth on more advanced topics, but if you work your way through it and actually implement what you read and do the exercises, you will be more than well enough equipped to take on just about any problem.<p>The key is going to be to actually implement what you read&#x2F;learn, I think it might take you a little more time than watching an online course, but in the long run it will give you a much deeper knowledge of the material.<p>1. <a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;Introduction-Algorithms-Thomas-H-Cormen&#x2F;dp&#x2F;0262531968" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;Introduction-Algorithms-Thomas-H-Corm...</a>
评论 #16430307 未加载
评论 #16429791 未加载
osobaabout 7 years ago
In addition to the Stanford courses mentioned in another comment, there are also two Princeton courses taught by Sedgewick <a href="https:&#x2F;&#x2F;www.coursera.org&#x2F;instructor&#x2F;~250165" rel="nofollow">https:&#x2F;&#x2F;www.coursera.org&#x2F;instructor&#x2F;~250165</a> and the MIT course taught by Demaine <a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-computer-science&#x2F;6-006-introduction-to-algorithms-fall-2011&#x2F;lecture-videos&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-compu...</a>
评论 #16429224 未加载
评论 #16429462 未加载
ahamedirshad123over 7 years ago
Don&#x27;t know about the best, but I learned a lot from these two courses.<p><a href="https:&#x2F;&#x2F;lagunita.stanford.edu&#x2F;courses&#x2F;course-v1:Engineering+Algorithms1+SelfPaced&#x2F;about" rel="nofollow">https:&#x2F;&#x2F;lagunita.stanford.edu&#x2F;courses&#x2F;course-v1:Engineering+...</a><p><a href="https:&#x2F;&#x2F;lagunita.stanford.edu&#x2F;courses&#x2F;course-v1:Engineering+Algorithms2+SelfPaced&#x2F;about" rel="nofollow">https:&#x2F;&#x2F;lagunita.stanford.edu&#x2F;courses&#x2F;course-v1:Engineering+...</a>
评论 #16429258 未加载
评论 #16429643 未加载
评论 #16428486 未加载
评论 #16428939 未加载
评论 #16429778 未加载
icc97about 7 years ago
It&#x27;s not really a course but I found InterviewBit [0] a great resource. It structures everything around moving from simpler to more complex data structures and algorithms. It&#x27;s kind of learning by doing lots and lots of questions. You have to complete enough problems in one section to move onto the next.<p>I spent a hundred hours going through the various tests and it showed the power of functional programming &#x2F; recursion. The questions that took me much longer than average were the ones where I had a bug and had to track it down. The recursive problems didn&#x27;t suffer from this, ie I would get the solution pretty much correct first time. This could just have been the questions &#x2F; my programming style but I found it eye opening.<p>[0]: <a href="https:&#x2F;&#x2F;www.interviewbit.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.interviewbit.com&#x2F;</a>
vthallamabout 7 years ago
If your eventual goal after learning the basics is programming questions for interviews, there are a tons of resources like leetcode, interviewbit, geeksforgeeks. I started writing some of the FAQ with explanations here[1], check it out to see if it is of any help for you.<p>[1] : <a href="http:&#x2F;&#x2F;letstalkalgorithms.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;letstalkalgorithms.com&#x2F;</a>
ruslanmsvabout 7 years ago
The best one is HSE &amp; Yandex &amp; Computer Science Club &amp; UC San Diego 6 course specialization on coursera<p><a href="https:&#x2F;&#x2F;www.coursera.org&#x2F;specializations&#x2F;data-structures-algorithms" rel="nofollow">https:&#x2F;&#x2F;www.coursera.org&#x2F;specializations&#x2F;data-structures-alg...</a>
评论 #16431498 未加载
ninjakeyboardabout 7 years ago
The princeton one on coursera is really great and easy to read. Buy the book and take the course. Sedgewick is my hero. It doesn&#x27;t require a lot of math in contrast to the Stanford coursera one. It&#x27;s much easier for the general person to follow IMO. <a href="https:&#x2F;&#x2F;www.coursera.org&#x2F;learn&#x2F;algorithms-part1" rel="nofollow">https:&#x2F;&#x2F;www.coursera.org&#x2F;learn&#x2F;algorithms-part1</a>
indescions_2018about 7 years ago
All good resources. I&#x27;d also add Algorithms, Etc. by Jeff Erickson.<p><a href="http:&#x2F;&#x2F;jeffe.cs.illinois.edu&#x2F;teaching&#x2F;algorithms&#x2F;" rel="nofollow">http:&#x2F;&#x2F;jeffe.cs.illinois.edu&#x2F;teaching&#x2F;algorithms&#x2F;</a><p>And for practice, Google Code Jam past problems are quite challenging ;)<p><a href="https:&#x2F;&#x2F;code.google.com&#x2F;codejam&#x2F;" rel="nofollow">https:&#x2F;&#x2F;code.google.com&#x2F;codejam&#x2F;</a>
评论 #16430542 未加载
southphillymanabout 7 years ago
Is it wise to do any of these courses without taking a course in linear algebra first? I started watching Skiena&#x27;s algorithm course on youtube recently and he seemed to really emphasize finishing a course in linear algebra before taking any algorithm course. Thoughts?
评论 #16430732 未加载
评论 #16430535 未加载
评论 #16430081 未加载
评论 #16430298 未加载
anonoholicabout 7 years ago
This is useful background: &quot;Mathematics for Computer Science&quot;<p><a href="https:&#x2F;&#x2F;courses.csail.mit.edu&#x2F;6.042&#x2F;spring17&#x2F;mcs.pdf" rel="nofollow">https:&#x2F;&#x2F;courses.csail.mit.edu&#x2F;6.042&#x2F;spring17&#x2F;mcs.pdf</a>
评论 #16431596 未加载
gameguy43about 7 years ago
The Intuitive Guide to Data Structures And Algorithms, on Interview Cake: <a href="https:&#x2F;&#x2F;www.interviewcake.com&#x2F;data-structures-and-algorithms-guide" rel="nofollow">https:&#x2F;&#x2F;www.interviewcake.com&#x2F;data-structures-and-algorithms...</a><p>Disclosure: my company made this :)
westurnerabout 7 years ago
These aren&#x27;t courses, but from answers to &quot;Ask HN: Recommended course&#x2F;website&#x2F;book to learn data structure and algorithms&quot; :<p>Data Structure: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Data_structure" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Data_structure</a><p>Algorithm:<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Algorithm" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Algorithm</a><p>Big O notation:<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Big_O_notation" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Big_O_notation</a><p>Big-O Cheatsheet: <a href="http:&#x2F;&#x2F;bigocheatsheet.com" rel="nofollow">http:&#x2F;&#x2F;bigocheatsheet.com</a><p>Coding Interview University &gt; Data Structures: <a href="https:&#x2F;&#x2F;github.com&#x2F;jwasham&#x2F;coding-interview-university&#x2F;blob&#x2F;master&#x2F;README.md#data-structures" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jwasham&#x2F;coding-interview-university&#x2F;blob&#x2F;...</a><p>OSSU: Open Source Society University &gt; Core CS &gt; Core Theory &gt; &quot;Algorithms: Design and Analysis, Part I&quot; [&amp;2] <a href="https:&#x2F;&#x2F;github.com&#x2F;ossu&#x2F;computer-science&#x2F;blob&#x2F;master&#x2F;README.md#core-theory" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ossu&#x2F;computer-science&#x2F;blob&#x2F;master&#x2F;README....</a><p>&quot;Algorithms, 4th Edition&quot; (2011; Sedgewick, Wayne): <a href="https:&#x2F;&#x2F;algs4.cs.princeton.edu&#x2F;" rel="nofollow">https:&#x2F;&#x2F;algs4.cs.princeton.edu&#x2F;</a><p>Complexity Zoo &gt; Petting Zoo (P, NP,): <a href="https:&#x2F;&#x2F;complexityzoo.uwaterloo.ca&#x2F;Petting_Zoo" rel="nofollow">https:&#x2F;&#x2F;complexityzoo.uwaterloo.ca&#x2F;Petting_Zoo</a><p>While perusing awesome-awesomeness [1], I found awesome-algorithms [2] , algovis [3], and awesome-big-o [4].<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;bayandin&#x2F;awesome-awesomeness" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bayandin&#x2F;awesome-awesomeness</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;tayllan&#x2F;awesome-algorithms" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tayllan&#x2F;awesome-algorithms</a><p>[3] <a href="https:&#x2F;&#x2F;github.com&#x2F;enjalot&#x2F;algovis" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;enjalot&#x2F;algovis</a><p>[4] <a href="https:&#x2F;&#x2F;github.com&#x2F;okulbilisim&#x2F;awesome-big-o" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;okulbilisim&#x2F;awesome-big-o</a>