liveBook · Manning

Abstract data type

An abstract data type specifies values, operations, and behavior independently of a particular representation or implementation.

How 4 Manning books explain it

Grokking Data Structures

An abstract data type is a specification of the operations and behavior of a data type independent of its implementation.

How it is used
Provides a behavioral contract for containers before choosing how to store their elements.
How deep it goes
Defines operations, behavior, and side effects, then distinguishes data-structure complexity and storage decisions from language-specific implementation.
Examples
Uses a light switch, an array at three abstraction levels, and a bag with insertion and iteration.
What you can do after
Evaluate/understand an interface independently of its implementation and identify which details belong at the data-structure level.

Read how Grokking Data Structures explains abstract data type →

Fabulous Adventures in Data Structures and Algorithms

An abstract data type is a specification of the values and operations of a data abstraction independent of its implementation.

How it is used
Guides interface design before selecting data structures for collections, search, simulations, and graphs.
How deep it goes
Develops operations, legal states, behavior, and performance goals into interfaces, then shows implementations that satisfy those choices.
Examples
Uses stack and deque interfaces, a mutable Life engine, prefix-search word lists, and an undirected graph wrapper.
What you can do after
Build it from scratch by specifying caller-visible operations first, then selecting and assessing a representation.

Read how Fabulous Adventures in Data Structures and Algorithms explains abstract data type →

The Joy of JavaScript

A data abstraction defined by its behavior and operations rather than by its concrete representation.

How it is used
Uses ADTs to isolate validation and other effects from business logic while composing functional transformations.
How deep it goes
Builds from wrappers and containers toward functor and monad operations, while deferring applicative monads.
Examples
Demonstrates Success values, chained map calls, safe division, and an Array-derived identity container.
What you can do after
Builds and composes context-preserving transformations with map, flatMap, currying, and fluent JavaScript syntax.

Read how The Joy of JavaScript explains abstract data type →

Advanced Algorithms and Data Structures

An abstract data type is a specification of a type's possible values, operations, computational complexities, outputs, and side effects without prescribing its storage representation.

How it is used
Frames data-structure design around client-visible operations, guarantees, implementation choices, and performance trade-offs.
How deep it goes
Defines APIs, behavior, invariants, data models, algorithms, and performance, but stops short of formal axioms or physical representation details.
Examples
Uses static arrays, priority queues, sorted priority queues, and string containers to contrast specifications with concrete implementations.
What you can do after
Evaluate/understand data-structure alternatives by separating required behavior from representation, algorithms, invariants, and operation performance.

Read how Advanced Algorithms and Data Structures explains abstract data type →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.