3 ms·
Aside from the main point of this article, could anybody recommend a good algorithms/data structures book? I want something that gives examples of when you sho
by lhnz 13y ago
Aside from the main point of this article, could anybody recommend a good algorithms/data structures book?
I want something that gives examples of when you should use particular techniques/theory and the benefits and trade-offs of doing so? That is, as opposed to learning the rote implementations and time complexities, I want to understand the practical application of knowledge...
I recently looked at some coding tests for Spotify [0] and found an interesting article talking about the solution for one of these. It was interesting to me since he just pointed out that something was a maximum cardinality problem on a bipartite graph and then applies the Hopcroft-Karp algorithm [1]. Now I don't care at all about being able to code any of those things from scratch, but I'd love it if there was a book which I could read to try and learn the names of different techniques and when/why they are applicable. I want a better map and I want it to be written in english.
Any ideas?
[0] https://www.spotify.com/uk/jobs/tech/catvsdog/ https://www.spotify.com/uk/jobs/tech/catvsdog/
[1] http://alonso-vidales.blogspot.co.uk/2013/03/new-spotify-puzzles-reversed-binary.html http://alonso-vidales.blogspot.co.uk/2013/03/new-spotify-puz...
- m_ke 13y agoTry Skiena's "Algorithm Design Manual" [0]. Another nice book would be "Programming Pearls" [1]. [0] http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693 http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/... [1] http://www.amazon.com/Programming-Pearls-2nd-Edition-Bentley/dp/0201657880 http://www.amazon.com/Programming-Pearls-2nd-Edition-Bentley...
- saltvedt 13y ago"Programming Challenges"[0] by Skiena maybe? "Practical application" of algorithms and data structure knowledge is mostly about recognizing which type of problem you're dealing with, and then implementing the simplest algorithm that solves it fast enough for your specific problem. [0]http://www.amazon.com/exec/obidos/ASIN/0387001638/ref=nosim/thealgorithmrepo/ http://www.amazon.com/exec/obidos/ASIN/0387001638/ref=nosim/...
- plinkplonk 13y ago"Aside from the main point of this article, could anybody recommend a good algorithms/data structures book?" Skiena's "Algorithm Design Manual" or Kleinberg and Tardos's "Algorithm Design" or Sedgewick's "Algorithms" for folks with little/no math. I mildly prefer the last. Once you have some math under your belt (say worked through Knuth's Concrete Mathematics), Sedgewick's "Analysis of Algorithms" or even Cormen et al. The problem with the latter is that it is too big to work through comprehensively and knowing what to leave out is somewhat tricky. Speaking of which, has someone ever worked through Cormen comprehensively? I sometimes think I should take two months off from work for a "desert island" holiday and put in the work to do this. (I started once and was making progress but got interrupted and never went back).