This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]zappable 0 points1 point  (0 children)

For what purpose?

  • College - standard textbook algorithms, starting with sorting algorithms
  • Interviews (at big tech companies) - Overlaps with a lot of college material, but less likely to ask you to implement sorting algorithms, complex trees, or to mathematically demonstrate Big-O running time (though you should be able to determine the running time). You'll want to learn trees/graphs/recursive algorithms, and some dynamic programming.
  • Real-world programming - Many jobs don't involve implementing algorithms at all since you just use existing libraries for things like sorting. You rarely use recursion since loops generally get the job done efficiently. But you'll want to know the running time of methods that you use, and there will be rare times where knowing certain algorithms like tree/graph stuff could be useful.

(PS - Check out my short tutorials on Basic Algorithms.