Think Data Structures: Algorithms and Information Retrieval in Java
A**E
Good but every other paragraph , the author tells you to check a link/his website for further info
I am half way through the book and I enjoy reading it . I got this book to get off the computer and read about Data structures. In the preface the author mentions how most Data structures books are about 500 pages and his is about 150 pages and that he was able to put everything within 150 pages but in fact every other paragraph, he gives you a link to his website for further reading so he didn't make a concise book , he just gives you links for the other 350 pages he removed.In the end I'll have to buy the 500 pages book because I don't want to check a link every paragraph , few lines even if I know some of it already ,I wanted to read the theory off the computer.
A**E
Great book if you already know another programming language.
I have many years experience writing C code, and some C++, so I knew the basics of programming. This book has been great for me to dig into Java, not too basic, and not too complex. I'm using it as a self driven course in Java, especially learning more about collections.Although the book is not thick, as some have said, it is written straight to the point, with dense information on each page. And the exercises have been great to force myself into getting into the details of the language. I feel this book is worth a semester or two of an intermediate Java college course.
S**.
Harnassing the power of Java
Think Data Structures is a helpful guide in understanding and utilizing a wealth of data structures provided in the Java programming language.Though the book is a thin, lightweight volume, it is packed with helpful information and code that illustrates the power under the hood of the ubiquitous Java. Any serious student, or professional practitioner, of Java would benefit from a reading of this book. It highlights such storage essentials as linked lists, arrays, hash maps, as well as binary trees, list traversals and Big O Notation. The latter refers to a code’s efficiency measured by how many calculations and processor work is required for each method, function or class in a program. Understanding and implementing the most efficient code will help programmers not simply have code that works, but that also is lean and mean resource wise.I really enjoyed seeing not simply explanations of code but the code itself. Also, once a concept is explained it must be understood to make headway with the succeeding lessons. While I would recommend this book to anyone who wishes to learn how to write efficient, powerful Java code, it’s probably best suited for someone with at least a familiarity of Java, object oriented programming, and data structures (especially lists and hashes or maps).
L**N
Good coverage, but probably not for a novice
As someone who has been coding for years (but is just now learning Java), I found this book to be pretty good.I like how it's clearly written for someone who is beyond the beginner level when it comes to coding (no slog through basic data types like so many other coding books I've read), and is looking for a more formal discussion of data structures.Writing is concise and clear, well-structured, and each section includes sample code and a basic exercise (not a lot of nuance here, though -- if you're looking for a bunch of exercises like what you'd find in a textbook, this isn't the book for you) to check your understanding. I think the author succeeds in his stated goal of covering a lot of material without getting too far into the weeds of theory, basic building blocks, etc.My one complaint is that it's a bit slim (physically, it's not even 200 pages). It covers a lot and does a surprisingly good job of bringing depth to the discussion, but if you were to have difficulty with something it'd be hard to get yourself unstuck with this book.
I**E
Clear, practical instruction in a slim book that’s not slim on usefulness
In the preface, Downey states that he is trying to write a book that avoids the common pitfalls of being too theoretical, too big, and too “bottom up.” He has succeeded. In a way, Downey uses some of the structure of good storytelling in his instruction, which leads to more engagement and enjoyment. Rather than just a list of instructions, he builds up the reader’s knowledge by instructing on a specific “quest”, in this case, building a web search engine. This helps the reader’s mind follow along and build a base of knowledge. This knowledge can then be applied to other applications, as well. It’s a more natural way of learning, somewhat like being his apprentice.I’m impressed enough with what I learned and how enjoyable the learning was, that after writing this review, I’m going to take a look at what other books Downey has to offer.
Trustpilot
5 days ago
3 weeks ago