Think Data Structures

Algorithms and Information Retrieval in Java


Think Data Structures
Think Data Structures
CC BY-NC-SA

Book Details

Author Allen Downey
Publisher O'Reilly Media, Green Tea Press
Published 2016
Edition 1st
Paperback 187 pages
Language English
ISBN-13 9781491972397
ISBN-10 1491972394
License Creative Commons Attribution-NonCommercial-ShareAlike

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 book is available under a Creative Commons Attribution-NonCommercial-ShareAlike license (CC BY-NC-SA), which means that you are free to copy, distribute, and modify it, as long as you credit the original author, don't use it for commercial purposes, and share any adaptations under the same license.

If you enjoyed the book and would like to support the author, you can purchase a printed copy (hardcover or paperback) from official retailers.

Download and Read Links

PDF

Share this Book

[localhost]# find . -name "*Similar_Books*"


Open Data Structures

Algorithms

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, 3rd Edition

Python Algorithms

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

Think Java, 2nd Edition

Java

Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. You'll learn how to program - a useful skill by itself - but you'l

Building Modern Web Applications With Spring Boot and Vaadin

Java Spring

This guide is a practical introduction to web application development with Spring Boot and Vaadin. It covers the entire development process, from setup to deployment, following a step-by-step approach. You can replicate each section at your own pace as you follow along. The content is suitable for anyone familiar with Java who wants to build a web

Object-oriented Programming in C#

C# C / C++ Java

Object-oriented Programming in C# is a practical guide to OOP concepts using C#, designed for programmers with experience in imperative languages like C or Java. Originally created in 2006, it takes an "object-later" approach, first reinforcing foundational programming skills before introducing object-oriented principles. The material combines anno

Data Structures and Algorithms

Algorithms

This book provides implementations of common and uncommon algorithms in pseudocode which is language independent and provides for easy porting to most imperative programming languages. It is not a definitive book on the theory of data structures and algorithms. For the most part this book presents implementations devised by the authors themselves b