Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this questionVirtually all the books I looked at so far related to this topic are designed for computer science students in a class room. I am looking for a book that is authored by professional working software engineer and its for working programmers. Do you know such as book?
Especially 开发者_JAVA技巧I am looking for something that also introduces related math such as statistic or algebra and makes good use of Object Oriendted concepts.
If no such book then I am looking for online PDF documents related to the topic of this question. It would be ideal if it uses scala but if not then Java 5 or 6 is ok.
I am looking for a book that is authored by professional working software engineer and its for working programmers.
As a professional working software engineer, I can assure you that a good software engineer can (and needs to) understand anything in a typical CS text book on algorithms.
Especially I am looking for something that also introduces related math such as statistic or algebra
That sounds like stuff you would find in high school maths text books.
... and makes good use of Object Oriented concepts.
OO is actually not particularly relevant to the study of data structures. IMO, too much focus on OO will probably get in the way of understanding how the data structures work under the hood.
Try "Algorithms in a Nutshell". It is full of real code in Java and is less theoretical than something like CLRS.
Rather than asking your algorithms book to teach you mathematics, you should have a second book on mathematics which you use to learn anything that you don't know well enough from the algorithms book. There exist some compendiums like "The VNR Concise Encyclopedia of Mathematics" that are fairly good references (though you may have to backtrack through the book to pick up the required pieces that you don't know yet).
As a working professional, you should seek to gather several resources and take from each what you need to gain a deeper understanding of the areas in which you are lacking. You certainly don't have time to do homework exercises on string searching algorithms when you are faced with a graph matching problem, but then no-one is making you read the entire CS textbook or do all the homework. Many algorithm books (including Sedgewick and CLRS ("Introduction to Algorithms")) are written so that you don't have to read them in order. So don't read them in order unless that tells you exactly what you need to know.
精彩评论