Some algorithms are really families of algorithms and can take more than a day of study, hash based look up tables come to mind. First there are the hash functions themselves. That would be day one. Next there are several alternatives for storing entries in the hash table, e. Then there are methods for handling collisions, linear probing, secondary hashing, etc.
- Pearls of Functional Algorithm Design by Richard Bird | | Hardcover | Barnes & Noble®.
- The Arsenal (The Survivalist Book 16).
Finally there are important variations, perfect hashing, cuckoo hashing, robin hood hashing, and so forth; maybe another 5 days. Some languages are less appropriate for playing around and can make working with algorithms more difficult, instead of a couple of weeks this could easily take twice as long.
What is `wholemeal` in functional programming? - Stack Overflow
After learning other methods of implementing fast lookups, its time to come back to hashing and understand when its appropriate and when alternatives are better and to understand how to combine methods for more sophisticated lookup methods. I think you will be best served by modifying your goal a bit and saying that you will work on learning about algorithms every day and cover all of the material in a typical undergraduate course on the subject.
It really is a fun branch of Computer Science. For more depth and theory try , Cormen and Leiserson's excellent Introduction to Algorithms.
Alternatively the theory is also covered by another book by Sedgewick, An Introduction to the Analysis of Algorithms . A classic reference that goes far beyond these other books is of course Knuth , suitable for serious students of Computer Science less so as a book of recipes.
- The Seven Ts of Practical Differentiation (Alphabet Sevens).
- User login;
- Le vite di Anna (Italian Edition)!
- FELICIDAD PLENA. TRES LEYES ESPIRITUALES PARA LOGRARLA (Spanish Edition).
- Sauce Supreme?
- Pearls of Functional Algorithm Design Chapter 2 1 Roger L. Costello July 2011.!
After these basics, there are books useful for special circumstances. If your goal is to be broadly and deeply familiar with Algorithms you will need to cover quite a bit of additional material. I love this book. Bit twiddling -- Hacker's Delight by Warren . Distributed and parallel programming -- this material gets very hard so perhaps Distributed Algorithms by Lynch . World Engineer World Engineer Sign up or log in Sign up using Google.
Sign up using Facebook. Sign up using Email and Password. Post as a guest Name. Email Required, but never shown. Featured on Meta. Tag synonym dashboard 2. We're testing advertisements across the network. But that is the point of the book.
Pearls of Functional Algorithm Design
Most of the solutions presented could not have been found easily by trial and error. Most of them were derived from a simple but inefficient initial implementation which could be regarded as an executable specification. The techniques used to derive each final and more efficient algorithm is what makes the pearls.
I've just started working through this book, but speaking on your second point that's a pearl right in the preface.
See a Problem?
All rights reserved. Want to join? Log in or sign up in seconds. Submit a new link. Submit a new text post. Get an ad-free experience with special benefits, and directly support Reddit.