
Ebook Info
- Published: 2017
- Number of pages: 158 pages
- Format: PDF
- File Size: 3.82 MB
- Authors: Allen B. Downey
Description
If you’re a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in software engineering—data structures and algorithms—in a way that’s clearer, more concise, and more engaging than other materials.By emphasizing practical knowledge and skills over theory, author Allen Downey shows you how to use data structures to implement efficient algorithms, and then analyze and measure their performance. You’ll explore the important classes in the Java collections framework (JCF), how they’re implemented, and how they’re expected to perform. Each chapter presents hands-on exercises supported by test code online.Use data structures such as lists and maps, and understand how they workBuild an application that reads Wikipedia pages, parses the contents, and navigates the resulting data treeAnalyze code to predict how fast it will run and how much memory it will requireWrite classes that implement the Map interface, using a hash table and binary search treeBuild a simple web search engine with a crawler, an indexer that stores web page contents, and a retriever that returns user query resultsOther books by Allen Downey include Think Java, Think Python, Think Stats, and Think Bayes.
User’s Reviews
Editorial Reviews: About the Author Allen B. Downey is a Professor of Computer Science at Olin College of Engineering. He has taught at Wellesley College, Colby College, and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master’s and Bachelor’s degrees from MIT.
Reviews from Amazon users which were colected at the time this book was published on the website:
⭐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.
⭐This is a more condensed, straight-to-the-point book for learning about different data structures and algorithms to use them. What this book won’t give you is a lot of conceptual information behind each algorithm. Rather, it begins with a summary of the structure e.g. a hash, leads with example code and has an exercise at the end of each chapter using what you learn. So, the book’s structure is: ‘topic’ + ‘example’ + ‘output’ + ‘additional expounding’ + ‘exercise’. It is very good for getting to the ‘meat’, and learning how to use it.Personally, I really appreciate the way it is written. Clear language, straight to the point, and examples. This book shows you how to use and implement them immediately, which is the type I prefer to save time. Total pages are around 120, and topics are kept short.Know that you must know how to use Java in order to understand and use the examples and perform the exercises. Not necessarily complex Java or arcane packages, however you need to be able to create, compile and run Java code to include interfaces and classes.Some example chapters include: Interfaces, Arrays, LinkendList, TreeMap, Binary Search Trees, Web Crawling, jsoup usage, indexing, linear maps, and hash maps to name a few.Overall very clear book that gets straight to the point for data structures and simple algorithms in Java.
⭐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.
⭐Very well written, clear and understandable explanations (of what can be at times complex, confusing topics).This is not a reference book. This teaches basic computer science (great for a college student). Although we think of this as college education, many software developers use pre-built libraries without a solid comprehension of what they are doing or how. If a software developer takes the time to work through this book they will have a much better understanding of “Java Collections” (and the performance implications of using one data structure vs another).Although this is a great book, I believe it could be better by including a summary and reference so that it would remain of value in future years after the student has studied the theory and design behind the provided collection classes in Java.The author is an excellent writer.
⭐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).
⭐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.
⭐Esse foi o livro que me inspirou a gostar do assunto e ver a importância em saber mais sobre ciência da computação e não simplesmente aprender uma linguagem e sair codificando da forma mais bonitinha que é mostrado nos exemplos para iniciantes.very useful book 🙂
Keywords
Free Download Think Data Structures: Algorithms and Information Retrieval in Java 1st Edition in PDF format
Think Data Structures: Algorithms and Information Retrieval in Java 1st Edition PDF Free Download
Download Think Data Structures: Algorithms and Information Retrieval in Java 1st Edition 2017 PDF Free
Think Data Structures: Algorithms and Information Retrieval in Java 1st Edition 2017 PDF Free Download
Download Think Data Structures: Algorithms and Information Retrieval in Java 1st Edition PDF
Free Download Ebook Think Data Structures: Algorithms and Information Retrieval in Java 1st Edition





