Which data structures books would you recommend as must reads?
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Algorithms + Data Structures = Programs should also be required reading, as should The Elements of Programming Style.
Realistically speaking, you can find (in any C++ standard-library, say ...) robust implementations of all of these data-structues. Therefore, you don't per se need to know how to write them yourself. What you do need to understand is basically how they work, what things they make easier-to-do, and what costs they accept in order to do it.
For instance: "Name three data structures that could be used in the implementation of a spelling-correction dictionary. Briefly describe (without giving actual code examples) how each one might be used, given that a known-good software implementation of each is presumed to exist. Briefly discuss at least two factors that would be in-favor of, and two more that would be against, the use of each data structure in this scenario." (30 pts.)
Have I ever been a ...? Aww, how did you know??
Last edited by sundialsvcs; 01-09-2015 at 10:58 AM.
Realistically speaking, you can find (in any C++ standard-library, say ...) robust implementations of all of these data-structues. Therefore, you don't per se need to know how to write them yourself. What you do need to understand is basically how they work, what things they make easier-to-do, and what costs they accept in order to do it.
For instance: "Name three data structures that could be used in the implementation of a spelling-correction dictionary. Briefly describe (without giving actual code examples) how each one might be used, given that a known-good software implementation of each is presumed to exist. Briefly discuss at least two factors that would be in-favor of, and two more that would be against, the use of each data structure in this scenario." (30 pts.)
That is exactly the reason why I have created this thread.
I exactly need a book which would tell me in plain English
why and how (for example) Red Black Trees and Recursion work.
That is all I need. I don't need the code. Hence this thread.
Now don't tell me to go to any local library because I
haven't heard of any closer to where I live.
Reviews lie. "This newly expanded and updated second edition continues to take the "mystery" out of designing algorithms..."
Whoever said that has at best wishful thinking, where are the B-trees, no pseudo-code, no code, no nothing, are you telling me that the most important data structure doesn't deserve a few pages!?
Also, text compression topic, just awful.
As for the string hashing, there is nothing except this wisdom: "Hashing has a variety of clever applications beyond just speeding up search. I
once heard Udi Manber—then Chief Scientist at Yahoo—talk about the algorithms
employed at his company. The three most important algorithms at Yahoo, he said,
were hashing, hashing, and hashing."
It is always good when some author tries to shed light, sadly when speaking of most BASIC important structures/etudes I see no good resource.
Several of my friends asked me the same question as the TS did, unfortunately I failed to recommend any book, just knowing how all books that I saw are far from the practical usage not to mention high-performance computing.
To me, not feeling the beauty of B-tree + string hashing + LempelZiv is a DISASTER.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.