Open Data Structures

An Introduction

by Pat Morin

DescriptionTable of ContentsDetailsHashtagsReport an issue

Book Description

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, Morin clearly and briskly presents instruction along with source code.

Analyzed and implemented in Java, the data structures presented in the book include stacks, queues, deques, and lists implemented as arrays and linked-lists; space-efficient implementations of lists; skip lists; hash tables and hash codes; binary search trees including treaps, scapegoat trees, and red-black trees; integer searching structures including binary tries, x-fast tries, and y-fast tries; heaps, including implicit binary heaps and randomized meldable heaps; graphs, including adjacency matrix and adjacency list representations; and B-trees.

A modern treatment of an essential computer science topic, Open Data Structures is a measured balance between classical topics and state-of-the art structures that will serve the needs of all undergraduate students or self-directed learners.

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

Table of Contents

Chapter 1
Introduction
Chapter 2
Array-Based Lists
Chapter 3
Linked Lists
Chapter 4
Skiplists
Chapter 5
Hash Tables
Chapter 6
Binary Trees
Chapter 7
Random Binary Search Trees
Chapter 8
Scapegoat Trees
Chapter 9
Red-Black Trees
Chapter 10
Heaps
Chapter 11
Sorting Algorithms
Chapter 12
Graphs
Chapter 13
Data Structures for Integers
Chapter 14
External Memory Searching

Book Details

Subject
Computer Science
Publisher
AU Press
Published
2013
Pages
336
Edition
1
Language
English
ISBN13
9781927356388
ISBN10
1927356385
ISBN13 Digital
9781927356395
ISBN10 Digital
1927356393
PDF Size
2.3 MB
License
CC BY-NC-ND

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...
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 ...
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 ...
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...
Programming Persistent Memory
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times - a huge leap forward in byte-addressable capacity compar...