Book 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 work
- Build an application that reads Wikipedia pages, parses the contents, and navigates the resulting data tree
- Analyze code to predict how fast it will run and how much memory it will require
- Write classes that implement the Map interface, using a hash table and binary search tree
- Build a simple web search engine with a crawler, an indexer that stores web page contents, and a retriever that returns user query results
Other books by Allen Downey include Think Java, Think Python, Think Stats, and Think Bayes.
Publisher resources
Table of contents
- Preface
- 1. Interfaces
- 2. Analysis of Algorithms
- 3. ArrayList
- 4. LinkedList
- 5. Doubly Linked List
- 6. Tree Traversal
- 7. Getting to Philosophy
- 8. Indexer
- 9. The Map Interface
- 10. Hashing
- 11. HashMap
- 12. TreeMap
- 13. Binary Search Tree
- 14. Persistence
- 15. Crawling Wikipedia
- 16. Boolean Search
- 17. Sorting
- Index
Product information
- Title: Think Data Structures
- Author(s):
- Release date: July 2017
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491972397
You might also like
book
Modern Software Engineering: Doing What Works to Build Better Software Faster
Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David …
book
Generative Deep Learning, 2nd Edition
Generative AI is the hottest topic in tech. This practical book teaches machine learning engineers and …
book
Deciphering Data Architectures
Data fabric, data lakehouse, and data mesh have recently appeared as viable alternatives to the modern …
book
Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition, 2nd Edition
Few books on software project management have been as influential and timeless as The Mythical Man-Month. …