Think Data Structures

Algorithms and Information Retrieval in Java

by Allen Downey

DescriptionTable of ContentsDetailsHashtagsReport an issue

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.

This open book is licensed under a Creative Commons License (CC BY-NC-SA). You can download Think Data Structures ebook for free in PDF format (1.2 MB).

Table of Contents

Chapter 1
Interfaces
Chapter 2
Analysis of Algorithms
Chapter 3
ArrayList
Chapter 4
LinkedList
Chapter 5
Doubly-linked list
Chapter 6
Tree traversal
Chapter 7
Getting to Philosophy
Chapter 8
Indexer
Chapter 9
The Map interface
Chapter 10
Hashing
Chapter 11
HashMap
Chapter 12
TreeMap
Chapter 13
Binary search tree
Chapter 14
Persistence
Chapter 15
Crawling Wikipedia
Chapter 16
Boolean search
Chapter 17
Sorting

Book Details

Subject
Computer Science
Publisher
O'Reilly Media, Green Tea Press
Published
2016
Pages
187
Edition
1
Language
English
ISBN13 Digital
9781491972397
ISBN10 Digital
1491972394
PDF Size
1.2 MB
License
CC BY-NC-SA

Book Hashtags

Related Books

Open Data Structures (in C++)
There are plenty of books that teach introductory data structures. Some of them are very good. Most of them cost money, and the vast majority of computer science undergraduate students will shell out at least some cash on a data structures book. Open Data Structures (in C++) - The goal of this project is to free undergraduate computer science stud...
Open Data Structures (in Java)
There are plenty of books that teach introductory data structures. Some of them are very good. Most of them cost money, and the vast majority of computer science undergraduate students will shell out at least some cash on a data structures book. Open Data Structures (in Java) - The goal of this book is to free undergraduate computer science stud...
Open Data Structures
Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Focusing on a mathematically rigorous approach that is fast, practical, and efficient, Mor...
Problem Solving with Algorithms and Data Structures
The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice ...
Pro TBB
This book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). Written by TBB and parallel programming experts, this book reflects their collective decades of experience in developing and teaching parallel programming with TBB, offering their insights in an approachable manner. Throughout the book the authors present ...
Projection-Based Clustering through Self-Organization and Swarm Intelligence
It covers aspects of unsupervised machine learning used for knowledge discovery in data science and introduces a data-driven approach to cluster analysis, the Databionic swarm(DBS). DBS consists of the 3D landscape visualization and clustering of data. The 3D landscape enables 3D printing of high-dimensional data structures.The clustering and numbe...