
Think Data Structures
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Copyright
- Table of Contents
- Preface
- The Philosophy Behind the Book
- Prerequisites
- Working with the Code
- Conventions Used in This Book
- Safari® Books Online
- How to Contact Us
- Contributors
- Chapter 1. Interfaces
- Why Are There Two Kinds of List?
- Interfaces in Java
- List Interface
- Exercise 1
- Chapter 2. Analysis of Algorithms
- Selection Sort
- Big O Notation
- Exercise 2
- Chapter 3. ArrayList
- Classifying MyArrayList Methods
- Classifying add
- Problem Size
- Linked Data Structures
- Exercise 3
- A Note on Garbage Collection
- Chapter 4. LinkedList
- Classifying MyLinkedList Methods
- Comparing MyArrayList and MyLinkedList
- Profiling
- Interpreting Results
- Exercise 4
- Chapter 5. Doubly Linked List
- Performance Profiling Results
- Profiling LinkedList Methods
- Adding to the End of a LinkedList
- Doubly Linked List
- Choosing a Structure
- Chapter 6. Tree Traversal
- Search Engines
- Parsing HTML
- Using jsoup
- Iterating Through the DOM
- Depth-First Search
- Stacks in Java
- Iterative DFS
- Chapter 7. Getting to Philosophy
- Getting Started
- Iterables and Iterators
- WikiFetcher
- Exercise 5
- Chapter 8. Indexer
- Data Structure Selection
- TermCounter
- Exercise 6
- Chapter 9. The Map Interface
- Implementing MyLinearMap
- Exercise 7
- Analyzing MyLinearMap
- Chapter 10. Hashing
- Hashing
- How Does Hashing Work?
- Hashing and Mutation
- Exercise 8
- Chapter 11. HashMap
- Exercise 9
- Analyzing MyHashMap
- The Tradeoffs
- Profiling MyHashMap
- Fixing MyHashMap
- UML Class Diagrams
- Chapter 12. TreeMap
- What's Wrong with Hashing?
- Binary Search Tree
- Exercise 10
- Implementing a TreeMap
- Chapter 13. Binary Search Tree
- A Simple MyTreeMap
- Searching for Values
- Implementing put
- In-Order Traversal
- The Logarithmic Methods
- Self-Balancing Trees
- One More Exercise
- Chapter 14. Persistence
- Redis
- Redis Clients and Servers
- Making a Redis-Backed Index
- Redis Data Types
- Exercise 11
- More Suggestions If You Want Them
- A Few Design Hints
- Chapter 15. Crawling Wikipedia
- The Redis-Backed Indexer
- Analysis of Lookup
- Analysis of Indexing
- Graph Traversal
- Exercise 12
- Chapter 16. Boolean Search
- Crawler Solution
- Information Retrieval
- Boolean Search
- Exercise 13
- Comparable and Comparator
- Extensions
- Chapter 17. Sorting
- Insertion Sort
- Exercise 14
- Analysis of Merge Sort
- Radix Sort
- Heap Sort
- Bounded Heap
- Space Complexity
- Index
- About the Author
- Colophon
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.