An introduction to data structures with applications
By: Jean-Paul Tremblay, Paul G. Sorenson
Contributors: Sorenson, P. G.
Edition: 2nd ed, International student ed.
Series: McGraw-Hill computer science series; McGraw-Hill computer science series
Publisher: McGraw-Hill
Published: 1984
Place of publication: Auckland; Singapore
Language: eng
Number of pages: 861
ISBN-13: 9780070666122
Copyright date: 1984
Subjects: Data structures (Computer science); Computer programming; Datenstruktur
Notes: Previous edition: 1976.

Includes bibliographical references.
Table of contents: title: Preface to the Second Edition
pagenum: xiii; title: Preface to the First Edition
pagenum: xv; label: 0
title: Introduction
pagenum: 1; label: 0-1
title: Structure and Problem Solving
pagenum: 2; label: 0-2
title: Algorithmic Notation
pagenum: 5; label: 0-2.1
title: Format Conventions
pagenum: 6; label: 0-2.1.1
title: Name of Algorithm
pagenum: 6; label: 0-2.1.2
title: Introductory Comment
pagenum: 6; label: 0-2.1.3
title: Steps
pagenum: 6; label: 0-2.1.4
title: Comments
pagenum: 6; label: 0-2.2
title: Statements and Control Structures
pagenum: 7; label: 0-2.2.1
title: Assignment Statement
pagenum: 7; label: 0-2.2.2
title: If-statement
pagenum: 7; label: 0-2.2.3
title: Case Statement
pagenum: 8; label: 0-2.2.4
title: Repeat statement
pagenum: 9; label: 0-2.2.5
title: Go To and Exit Loop Statements
pagenum: 10; label: 0-2.2.6
title: Exit Statement
pagenum: 10; label: 0-2.2.7
title: Variable Names
pagenum: 11; label: 0-2.3
title: Data Structures
pagenum: 11; label: 0-2.3.1
title: Arrays
pagenum: 11; label: 0-2.3.2
title: Dynamic Storage
pagenum: 12; label: 0-2.4
title: Arithmetic Operations and Expressions
pagenum: 12; label: 0-2.5
title: Strings and String Operations
pagenum: 12; label: 0-2.6
title: Relations and Relational Operators
pagenum: 13; label: 0-2.7
title: Logical Operations and Expressions
pagenum: 13; label: 0-2.8
title: Input and Output
pagenum: 14; label: 0-2.9
title: Subalgorithms
pagenum: 15; label: 0-2.9.1
title: Functions
pagenum: 15; label: 0-2.9.2
title: Procedures
pagenum: 15; label: 0-2.9.3
title: Parameters
pagenum: 16; label: 0-3
title: Introduction to Algorithm Analysis for Time and Space Requirements
pagenum: 16; label: 0-3.1
title: Rate of Growth
pagenum: 16; label: 0-3.2
title: Basic Time Analysis of an Algorithm
pagenum: 16; label: 0-3.3
title: Order Notation
pagenum: 19; label: 0-3.4
title: More Timing Analysis
pagenum: 20; label: 0-3.5
title: Space Analysis of an Algorithm
pagenum: 22; title: Bibliography
pagenum: 22; label: 1
title: Information and Its Storage Representation
pagenum: 23; label: 1-1
title: The Nature of Information
pagenum: 24; title: Exercises for Sec. 1-1
pagenum: 26; label: 1-2
title: The Transmission of Information
pagenum: 27; label: 1-3
title: The Storage of Information
pagenum: 30; label: 1-4
title: Primitive Data Structures
pagenum: 32; label: 1-4.1
title: Operations on Data Structures
pagenum: 32; label: 1-4.2
title: Number Systems
pagenum: 33; title: Exercises for Sec. 1-4.2
pagenum: 35; label: 1-4.3
title: Integers
pagenum: 35; title: Exercises for Sec. 1-4.3
pagenum: 43; label: 1-4.4
title: Real Numbers
pagenum: 43; title: Exercises for Sec. 1-4.4
pagenum: 48; label: 1-4.5
title: Character Information
pagenum: 49; title: Exercises for Sec. 1-4.5
pagenum: 56; label: 1-4.6
title: Logical Information
pagenum: 56; label: 1-4.7
title: Pointer Information
pagenum: 58; title: Bibliography
pagenum: 64; label: 2
title: The Representation and Manipulation of Strings
pagenum: 65; label: 2-1
title: Definitions and Concepts
pagenum: 66; label: 2-2
title: String Manipulation and Pattern Matching
pagenum: 67; label: 2-2.1
title: Markov Algorithms
pagenum: 67; title: Exercises for Sec. 2-2.1
pagenum: 73; label: 2-2.2
title: Primitive Functions
pagenum: 75; label: 2-2.3
title: Composite Functions
pagenum: 77; label: 2-2.4
title: String Manipulation in Pascal
pagenum: 83; title: Exercises for Sec. 2-2.4
pagenum: 93; label: 2-2.5
title: String Manipulation in SNOBOL
pagenum: 93; title: Exercises for Sec. 2-2
pagenum: 100; label: 2-3
title: Grammars
pagenum: 101; title: Exercises for Sec. 2-3
pagenum: 115; label: 2-4
title: Storage Representation of Strings
pagenum: 116; title: Exercises for Sec. 2-4
pagenum: 123; label: 2-5
title: String Manipulation Applications
pagenum: 124; label: 2-5.1
title: Text Handling
pagenum: 124; title: Exercises for Sec. 2-5.1
pagenum: 134; label: 2-5.2
title: Lexical Analysis
pagenum: 135; title: Exercises for Sec. 2-5.2
pagenum: 138; label: 2-5.3
title: KWIC Indexing
pagenum: 139; title: Exercises for Sec. 2-5.3
pagenum: 143; title: Bibliography
pagenum: 144; label: 3
title: Linear Data Structures and Their Sequential Storage Representation
pagenum: 145; label: 3-1
title: Concepts and Terminology for Nonprimitive Data Structures
pagenum: 146; label: 3-2
title: Storage Structures for Arrays
pagenum: 147; title: Exercises for Sec. 3-2
pagenum: 152; label: 3-3
title: Structures and Arrays of Structures
pagenum: 153; title: Exercises for Sec. 3-3
pagenum: 161; label: 3-4
title: Stacks
pagenum: 167; label: 3-4.1
title: Definitions and Concepts
pagenum: 168; label: 3-4.2
title: Operations on Stacks
pagenum: 168; label: 3-5
title: Applications of Stacks
pagenum: 176; label: 3-5.1
title: Recursion
pagenum: 176; title: Exercises for Sec. 3-5.1
pagenum: 186; label: 3-5.2
title: Polish Expressions and Their Compilation
pagenum: 197; label: 3-5.2.1
title: Polish Notation
pagenum: 197; label: 3-5.2.2
title: Conversion of Infix Expressions to Polish Notation
pagenum: 202; label: 3-5.2.3
title: Conversion of Polish Expressions to Code
pagenum: 209; title: Exercises for Sec. 3-5.2
pagenum: 213; label: 3-5.3
title: Stack Machines
pagenum: 215; label: 3-6
title: Queues
pagenum: 217; title: Exercises for Sec. 3-6
pagenum: 222; label: 3-7
title: Simulation
pagenum: 223; title: Exercises for Sec. 3-7
pagenum: 231; label: 3-8
title: Priority Queues
pagenum: 241; title: Exercises for Sec. 3-8
pagenum: 242; title: Bibliography
pagenum: 242; label: 4
title: Linear Data Structures and Their Linked Storage Representation
pagenum: 245; label: 4-1
title: Pointers and Linked Allocation
pagenum: 246; label: 4-2
title: Linked Linear Lists
pagenum: 254; label: 4-2.1
title: Operations on Linear Lists Using Singly Linked Storage Structures
pagenum: 255; title: Exercises for Sec. 4-2.1
pagenum: 275; label: 4-2.2
title: Circularly Linked Linear Lists
pagenum: 283; title: Exercises for Sec. 4-2.2
pagenum: 284; label: 4-2.3
title: Doubly Linked Linear Lists
pagenum: 284; title: Exercises for Sec. 4-2.3
pagenum: 291; label: 4-3
title: Applications of Linked Linear Lists
pagenum: 294; label: 4-3.1
title: Polynomial Manipulation
pagenum: 298; title: Exercises for Sec. 4-3.1
pagenum: 316; label: 4-3.2
title: Linked Dictionary
pagenum: 299; title: Exercises for Sec. 4-3.2
pagenum: 306; label: 4-3.3
title: Multiple-Precision Arithmetic
pagenum: 307; title: Exercises for Sec. 4-3.3
pagenum: 316; label: 4-4
title: Associative Lists
pagenum: 323; title: Exercises for Sec. 4-4
pagenum: 323; title: Bibliography
pagenum: 323; label: 5
title: Nonlinear Data Structures
pagenum: 325; label: 5-1
title: Trees
pagenum: 326; label: 5-1.1
title: Definitions and Concepts
pagenum: 326; title: Exercises for Sec. 5-1.1
pagenum: 337; label: 5-1.2
title: Operations on Binary Trees
pagenum: 340; label: 5-1.3
title: Storage Representation and Manipulation of Binary Trees
pagenum: 345; label: 5-1.3.1
title: Linked Storage Representation for Binary Trees
pagenum: 345; label: 5-1.3.2
title: Threaded Storage Representation for Binary Trees
pagenum: 355; title: Exercises for Sec. 5-1.3
pagenum: 366; label: 5-1.4
title: Conversion of General Trees to Binary Trees
pagenum: 362; title: Exercises for Sec. 5-1.4
pagenum: 366; label: 5-1.5
title: Sequential and Other Representations of Trees
pagenum: 367; title: Exercises for Sec. 5-1.5
pagenum: 371; label: 5-2
title: Applications of Trees
pagenum: 375; label: 5-2.1
title: The Manipulation of Arithmetic Expressions
pagenum: 371; title: Exercises for Sec. 5-2.1
pagenum: 384; label: 5-2.2
title: Symbol-Table Construction
pagenum: 384; title: Exercises for Sec. 5-2.2
pagenum: 392; label: 5-2.3
title: Syntax Analysis
pagenum: 392; title: Exercises for Sec. 5-2.3
pagenum: 399; label: 5-3
title: Multilinked Structures
pagenum: 401; label: 5-3.1
title: Sparse Matrices
pagenum: 401; title: Exercises for Sec. 5-3.1
pagenum: 411; label: 5-3.2
title: Index Generation
pagenum: 412; title: Exercises for Sec. 5-3.2
pagenum: 421; label: 5-4
title: Graphs and Their Representations
pagenum: 421; label: 5-4.1
title: Matrix Representation of Graphs
pagenum: 422; title: Exercises for Sec. 5-4.1
pagenum: 429; label: 5-4.2
title: List Structures
pagenum: 430; title: Exercises for Sec. 5-4.2
pagenum: 444; label: 5-4.3
title: Other Representations of Graphs
pagenum: 445; title: Exercises for Sec. 5-4.3
pagenum: 448; label: 5-4.4
title: Breadth First Search
pagenum: 449; title: Exercises for Sec. 5-4.4
pagenum: 452; label: 5-4.5
title: Depth First Search
pagenum: 452; title: Exercises for Sec. 5-4.5
pagenum: 456; label: 5-4.6
title: Spanning Trees
pagenum: 456; title: Exercise for Sec. 5-4.6
pagenum: 458; label: 5-4.7
title: An Example of a Time-Consuming Problem
pagenum: 458; title: Exercises for Sec. 5-4.7
pagenum: 462; label: 5-5
title: Applications of Graphs
pagenum: 462; label: 5-5.1
title: PERT and Related Techniques
pagenum: 462; title: Exercise for Sec. 5-5.1
pagenum: 469; label: 5-5.2
title: Computer Graphics Applications
pagenum: 470; title: Exercises for Sec. 5-5.2
pagenum: 488; label: 5-5.3
title: Topological Sorting
pagenum: 488; title: Exercises for Sec. 5-5.3
pagenum: 498; label: 5-6
title: Dynamic Storage Management
pagenum: 498; label: 5-6.1
title: Fixed Block Storage Allocation
pagenum: 498; label: 5-6.2
title: First-fit Storage Allocation
pagenum: 501; label: 5-6.3
title: Storage Release
pagenum: 505; label: 5-6.4
title: Buddy System
pagenum: 509; label: 5-6.5
title: Garbage Collection
pagenum: 518; label: 5-6.6
title: Compaction
pagenum: 525; title: Exercises for Sec. 5-6
pagenum: 530; title: Bibliography
pagenum: 534; label: 6
title: Sorting and Searching
pagenum: 537; label: 6-1
title: Sorting
pagenum: 538; label: 6-1.1
title: Notation and Concepts
pagenum: 538; label: 6-1.2
title: Selection Sort
pagenum: 540; label: 6-1.3
title: Bubble Sort
pagenum: 544; label: 6-1.4
title: Merge Sorting
pagenum: 543; label: 6-1.5
title: Tree Sorts
pagenum: 544; label: 6-1.6
title: Partition-Exchange Sort
pagenum: 555; label: 6-1.7
title: Radix Sort
pagenum: 560; label: 6-1.8
title: Address-Calculation Sort
pagenum: 562; label: 6-1.9
title: Summary of Sorting Methods
pagenum: 568; title: Exercises for Sec. 6-1
pagenum: 568; label: 6-2
title: Searching
pagenum: 569; label: 6-2.1
title: Sequential Searching
pagenum: 569; label: 6-2.2
title: Binary Searching
pagenum: 570; label: 6-2.3
title: Search Trees
pagenum: 574; label: 6-2.3.1
title: Height-Balanced Trees
pagenum: 574; title: Exercises for Sec. 6-2.3.1
pagenum: 585; label: 6-2.3.2
title: 2-3 Trees
pagenum: 585; title: Exercises for Sec. 6-2.3.2
pagenum: 594; label: 6-2.3.3
title: Weight-Balanced Trees
pagenum: 594; title: Exercises for Sec. 6-2.3.3
pagenum: 600; label: 6-2.3.4
title: Trie Structures
pagenum: 601; title: Exercises for Sec. 6-2.3.4
pagenum: 605; label: 6-2.4
title: Hash-Table Methods
pagenum: 606; label: 6-2.4.1
title: Introduction
pagenum: 607; label: 6-2.4.2
title: Hashing Functions
pagenum: 607; label: 6-2.4.3
title: Collision-Resolution Techniques
pagenum: 611; title: Exercises for Sec. 6-2.4
pagenum: 621; title: Bibliography
pagenum: 623; label: 7
title: File Structures
pagenum: 625; label: 7-1
title: External Storage Devices
pagenum: 626; label: 7-1.1
title: Magnetic Tapes
pagenum: 626; label: 7-1.2
title: Magnetic Drums
pagenum: 628; label: 7-1.3
title: Magnetic Disks
pagenum: 632; label: 7-1.4
title: Mass Storage Devices
pagenum: 635; label: 7-1.5
title: Intermediate Storage Devices
pagenum: 636; title: Exercises for Sec. 7-1
pagenum: 636; label: 7-2
title: Definitions and Concepts
pagenum: 637; label: 7-3
title: Record Organization
pagenum: 640; title: Exercises for Sec. 7-3
pagenum: 647; label: 7-4
title: Sequential Files
pagenum: 648; label: 7-4.1
title: The Structure of Sequential Files
pagenum: 648; label: 7-4.2
title: Processing Sequential Files
pagenum: 652; label: 7-4.3
title: Sequential Files in PL/I
pagenum: 656; title: Exercises for Sec. 7-4
pagenum: 663; label: 7-5
title: A Small Billing System
pagenum: 665; label: 7-5.1
title: System Analysis
pagenum: 666; label: 7-5.2
title: System Design
pagenum: 667; label: 7-5.3
title: Implementation
pagenum: 670; label: 7-6
title: External Sorting
pagenum: 678; label: 7-6.1
title: Run Lists
pagenum: 678; label: 7-6.2
title: Tape Sorting
pagenum: 679; label: 7-6.2.1
title: Polyphase Sorting
pagenum: 679; label: 7-6.2.2
title: Oscillating Sorting
pagenum: 685; label: 7-6.3
title: Sorting on Disks
pagenum: 690; label: 7-6.4
title: Generating Extended Initial Runs
pagenum: 694; label: 7-6.5
title: Recent Developments
pagenum: 695; title: Exercises for Sec. 7-6
pagenum: 696; label: 7-7
title: Indexed Sequential Files
pagenum: 697; label: 7-7.1
title: The Structure of Indexed Sequential Files
pagenum: 697; label: 7-7.2
title: Processing Indexed Sequential Files
pagenum: 705; label: 7-7.3
title: Indexed Sequential Files in PL/I
pagenum: 711; title: Exercises for Sec. 7-7
pagenum: 717; label: 7-8
title: Class-Record Retrieval System
pagenum: 718; label: 7-8.1
title: System Analysis
pagenum: 718; label: 7-8.2
title: System Design
pagenum: 719; label: 7-8.3
title: Implementation
pagenum: 723; label: 7-9
title: Direct Files
pagenum: 732; label: 7-9.1
title: The Structure of Direct Files
pagenum: 732; label: 7-9.2
title: Processing Direct Files
pagenum: 737; label: 7-9.3
title: Direct Files in PL/I
pagenum: 740; title: Exercises for Sec. 7-9
pagenum: 750; label: 7-10
title: An On-Line Banking System
pagenum: 751; label: 7-10.1
title: System Analysis
pagenum: 751; label: 7-10.2
title: System Design
pagenum: 753; label: 7-10.3
title: Implementation
pagenum: 755; label: 7-11
title: External Searching
pagenum: 764; label: 7-11.1
title: Distribution-Dependent Hashing Function
pagenum: 764; label: 7-11.2
title: Dynamic Hashing Techniques
pagenum: 770; label: 7-11.2.1
title: Organizing Direct Files with Hashing
pagenum: 771; label: 7-11.2.2
title: Linear Hashing
pagenum: 775; label: 7-11.2.3
title: Virtual Hashing
pagenum: 782; label: 7-11.2.4
title: Experimental Results with Dynamic Hashing Techniques
pagenum: 789; label: 7-11.2.5
title: Other Dynamic Hashing Techniques
pagenum: 790; title: Exercises for Sec. 7-11
pagenum: 796; label: 7-12
title: Other Methods of File Organization
pagenum: 797; label: 7-12.1
title: Virtual Memory
pagenum: 797; label: 7-12.2
title: VSAM Files
pagenum: 805; title: Exercises for Sec. 7-12
pagenum: 810; label: 7-13
title: Multiple-Key Access
pagenum: 811; label: 7-13.1
title: Multilist Organization
pagenum: 813; label: 7-13.2
title: Inverted-List Organization
pagenum: 815; label: 7-13.3
title: The Controlled List Length Multilist Organization
pagenum: 817; label: 7-13.4
title: Cellular Partitioned Structures
pagenum: 818; label: 7-13.5
title: Maintenance of a Multilist
pagenum: 820; label: 7-13.6
title: Maintenance of an Inverted List
pagenum: 822; label: 7-13.7
title: Maintenance of Constrained Multilist and Cellular Structures
pagenum: 823; label: 7-13.8
title: Summary of Secondary Access Methods
pagenum: 823; title: Exercises for Sec. 7-13
pagenum: 825; label: 7-14
title: An Introduction to Data-Base Systems
pagenum: 826; label: 7-14.1
title: General Concepts in Data-Base Systems
pagenum: 826; label: 7-14.2
title: Hierarchical Approach
pagenum: 829; label: 7-14.3
title: Network Approach
pagenum: 832; label: 7-14.4
title: Relational Approach
pagenum: 835; label: 7-14.5
title: Summary
pagenum: 839; title: Bibliography
pagenum: 840; label: Index
pagenum: 843