Algorithms + data structures=programs
By: Niklaus Wirth.
Series: Prentice-Hall series in automatic computation.
Publisher: Prentice-Hall
Published: 1976
Place of publication: Englewood Cliffs, N.J
Language: eng
Number of pages: 366
Subjects: Computer programming; Data structures (Computer science); Computer algorithms
Notes: Includes bibliographies and indexes.
Table of contents: title: Preface
pagenum: x; title: Declaration
pagenum: xv; label: 1
title: Fundamental Data Structures
pagenum: 1; label: 1.1
title: Introduction
pagenum: 1; label: 1.2
title: The Concept of Data Type
pagenum: 4; label: 1.3
title: Primitive Data Types
pagenum: 6; label: 1.4
title: Standard Primitive Types
pagenum: 8; label: 1.5
title: Subrange Types
pagenum: 10; label: 1.6
title: The Array Structure
pagenum: 11; label: 1.7
title: The Record Structure
pagenum: 16; label: 1.8
title: Variants of Record Structures
pagenum: 20; label: 1.9
title: The Set Structure
pagenum: 23; label: 1.10
title: Representation of Array, Record, and Set Structures
pagenum: 29; label: 1.10.1
title: Representation of Arrays
pagenum: 30; label: 1.10.2
title: Representation of Record Structures
pagenum: 32; label: 1.10.3
title: Representation of Sets
pagenum: 33; label: 1.11
title: The Sequential File Structure
pagenum: 34; label: 1.11.1
title: Elementary File Operators
pagenum: 37; label: 1.11.2
title: Files with Substructure
pagenum: 39; label: 1.11.3
title: Texts
pagenum: 41; label: 1.11.4
title: A File Editing Program
pagenum: 49; label: 2
title: Sorting
pagenum: 56; label: 2.1
title: Introduction
pagenum: 56; label: 2.2
title: Sorting Arrays
pagenum: 59; label: 2.2.1
title: Sorting by Straight Insertion
pagenum: 60; label: 2.2.2
title: Sorting by Straight Selection
pagenum: 63; label: 2.2.3
title: Sorting by Straight Exchange
pagenum: 65; label: 2.2.4
title: Insertion Sort by Diminishing Increment
pagenum: 68; label: 2.2.5
title: Tree Sort
pagenum: 70; label: 2.2.6
title: Partition Sort
pagenum: 76; label: 2.2.7
title: Finding the Median
pagenum: 82; label: 2.2.8
title: A Comparison of Array Sorting Methods
pagenum: 84; label: 2.3
title: Sorting Sequential Files
pagenum: 87; label: 2.3.1
title: Straight Merging
pagenum: 87; label: 2.3.2
title: Natural Merging
pagenum: 92; label: 2.3.3
title: Balanced Multiway Merging
pagenum: 99; label: 2.3.4
title: Polyphase Sort
pagenum: 104; label: 2.3.5
title: Distribution of Initial Runs
pagenum: 116; label: 3
title: Recursive Algorithms
pagenum: 125; label: 3.1
title: Introduction
pagenum: 125; label: 3.2
title: When Not to Use Recursion
pagenum: 127; label: 3.3
title: Two Examples of Recursive Programs
pagenum: 130; label: 3.4
title: Backtracking Algorithms
pagenum: 137; label: 3.5
title: The Eight Queens Problem
pagenum: 143; label: 3.6
title: The Stable Marriage Problem
pagenum: 148; label: 3.7
title: The Optimal Selection Problem
pagenum: 154; label: 4
title: Dynamic Information Structures
pagenum: 162; label: 4.1
title: Recursive Data Types
pagenum: 162; label: 4.2
title: Pointers or References
pagenum: 166; label: 4.3
title: Linear Lists
pagenum: 171; label: 4.3.1
title: Basic Operations
pagenum: 171; label: 4.3.2
title: Ordered Lists and Re-organizing Lists
pagenum: 174; label: 4.3.3
title: An Application: Topological Sorting
pagenum: 182; label: 4.4
title: Tree Structures
pagenum: 189; label: 4.4.1
title: Basic Concepts and Definitions
pagenum: 189; label: 4.4.2
title: Basic Operations on Binary Trees
pagenum: 198; label: 4.4.3
title: Tree Search and Insertion
pagenum: 201; label: 4.4.4
title: Tree Deletion
pagenum: 210; label: 4.4.5
title: Analysis of Tree Search and Insertion
pagenum: 211; label: 4.4.6
title: Balanced Trees
pagenum: 215; label: 4.4.7
title: Balanced Tree Insertion
pagenum: 216; label: 4.4.8
title: Balanced Tree Deletion
pagenum: 222; label: 4.4.9
title: Optimal Search Trees
pagenum: 226; label: 4.4.10
title: Displaying a Tree Structure
pagenum: 232; label: 4.5
title: Multiway Trees
pagenum: 242; label: 4.5.1
title: B-Trees
pagenum: 245; label: 4.5.2
title: Binary B-Trees
pagenum: 257; label: 4.6
title: Key Transformations (Hashing)
pagenum: 264; label: 4.6.1
title: Choice of a Transformation Function
pagenum: 266; label: 4.6.2
title: Collision Handling
pagenum: 266; label: 4.6.3
title: Analysis of Key Transformation
pagenum: 271; label: 5
title: Language Structures and Compilers
pagenum: 280; label: 5.1
title: Language Definition and Structure
pagenum: 280; label: 5.2
title: Sentence Analysis
pagenum: 283; label: 5.3
title: Constructing a Syntax Graph
pagenum: 288; label: 5.4
title: Constructing a Parser for a Given Syntax
pagenum: 291; label: 5.5
title: Constructing a Table-Driven Parsing Program
pagenum: 295; label: 5.6
title: A Translator from BNF into Parser-Driving Data Structures
pagenum: 299; label: 5.7
title: The Programming Language PL/0
pagenum: 307; label: 5.8
title: A Parser for PL/0
pagenum: 311; label: 5.9
title: Recovering from Syntactic Errors
pagenum: 320; label: 5.10
title: A PL/0 Processor
pagenum: 331; label: 5.11
title: Code Generation
pagenum: 344; title: Appendices; label: A
title: The ASCII Character Set
pagenum: 351; label: B
title: Pascal Syntax Diagrams
pagenum: 352; title: Subject Index
pagenum: 359; title: Index of Programs
pagenum: 365