An edition of Data structures (2001)

Data structures

a pseudocode approach with C++

  • 5.0 (1 rating)
  • 25 Want to read
  • 3 Currently reading

My Reading Lists:

Create a new list

  • 5.0 (1 rating)
  • 25 Want to read
  • 3 Currently reading

Buy this book

Last edited by ImportBot
December 19, 2023 | History
An edition of Data structures (2001)

Data structures

a pseudocode approach with C++

  • 5.0 (1 rating)
  • 25 Want to read
  • 3 Currently reading

This work doesn't have a description yet. Can you add one?

Publish Date
Publisher
Brooks/Cole
Language
English
Pages
754

Buy this book

Previews available in: English

Book Details


Table of Contents

1. Introduction
Page 1
1-1. Pseudocode
Page 2
Algorithm Header
Page 2
Purpose, Conditions, and Return
Page 3
Statement Numbers
Page 4
Variables
Page 4
Algorithm Analysis
Page 5
Statement Constructs
Page 5
Pseudocode Example
Page 6
1-2. The Abstract Data Type
Page 7
Atomic and Composite Data
Page 8
Data Structure
Page 8
Abstract Data Type
Page 9
1-3. A Model for an Abstract Data Type
Page 11
ADT Operations
Page 11
ADT Data Structure
Page 12
ADT Class Templates
Page 13
1-4. Algorithm Efficiency
Page 14
Linear Loops
Page 15
Logarithmic Loops
Page 16
Nested Loops
Page 17
Big-O Notation
Page 19
Standard Measures of Efficiency
Page 20
Big-O Analysis Examples
Page 21
1-5. Summary
Page 24
1-6. Practice Sets
Page 25
Exercises
Page 25
Problems
Page 27
Projects
Page 27
2. Searching
Page 29
2-1. List Searches
Page 30
Sequential Search
Page 30
Variations on Sequential Searches
Page 33
Binary Search
Page 37
Binary Search Algorithm
Page 40
Analyzing Search Algorithms
Page 41
2-2. C++ Search Algorithms
Page 43
Sequential Search in C++
Page 43
Binary Search in C++
Page 44
Search Example
Page 46
2-3. Hashed List Searches
Page 49
Basic Concepts
Page 50
Hashing Methods
Page 52
Hashing Algorithm
Page 57
2-4. Collision Resolution
Page 59
Open Addressing
Page 61
Linked List Resolution
Page 65
Bucket Hashing
Page 66
Combination Approaches
Page 67
Hash List Example
Page 68
2-5. Summary
Page 72
2-6. Practice Sets
Page 74
Exercises
Page 74
Problems
Page 75
Projects
Page 75
3. Linked Lists
Page 77
3-1. Linear List Concepts
Page 78
Insertion
Page 79
Deletion
Page 80
Retrieval
Page 80
Traversal
Page 80
3-2. Linked List Concepts
Page 81
Nodes
Page 81
Linked List Data Structure
Page 82
Pointers to Linked Lists
Page 84
3-3. Linked List Algorithms
Page 84
Create List
Page 84
Insert Node
Page 85
Delete Node
Page 90
Search List
Page 93
Unordered List Search
Page 96
Retrieve Node
Page 97
Empty List
Page 97
Full List
Page 98
List Count
Page 98
Traverse List
Page 99
Destroy List
Page 101
3-4. Processing a Linked List
Page 102
Add Node
Page 104
Remove Node
Page 105
Print List
Page 106
Testing Insert and Delete Logic
Page 107
3-5. List Applications
Page 108
Append Lists
Page 108
Array of Lists
Page 110
3-6. Complex Linked List Structures
Page 113
Circularly Linked Lists
Page 113
Doubly Linked Lists
Page 113
Multilinked Lists
Page 119
Multilinked List Insert
Page 121
Multilinked List Delete
Page 122
3-7. Building a Linked List — C++ Implementation
Page 122
Data Structure
Page 122
Application Functions
Page 123
3-8. List Abstract Data Type — Linked List Implementation
Page 129
List ADT Declaration
Page 131
3-9. Summary
Page 143
3-10. Practice Sets
Page 144
Exercises
Page 144
Problems
Page 147
Projects
Page 148
4. Stacks
Page 156
4-1. Basic Stack Operations
Page 157
Push
Page 157
Pop
Page 157
Stack Top
Page 158
4-2. Stack Linked List Implementation
Page 160
Data Structure
Page 160
Stack Algorithms
Page 161
4-3. Stack Applications
Page 168
Reversing Data
Page 169
Reverse a List
Page 169
Convert Decimal to Binary
Page 170
Parsing
Page 171
Postponement
Page 173
Backtracking
Page 181
4-4. Eight Queens Problem — C++ Implementation
Page 188
Main Line Logic
Page 189
Get Board Size
Page 190
4-5. Stack Abstract Data Type — Implementation
Page 195
Data Structure
Page 195
Stack ADT Implementation
Page 196
4-6. Stack ADT — Array Implementation
Page 202
Array Data Structure
Page 203
Create Stack Array
Page 204
Push Stack Array
Page 205
Pop Stack Array
Page 206
Stack Top Array
Page 207
Empty Stack Array
Page 208
Full Stack Array
Page 208
Stack Count Array
Page 208
Destroy Stack Array
Page 209
4-7. Summary
Page 209
4-8. Practice Sets
Page 210
Exercises
Page 210
Problems
Page 211
Projects
Page 213
5. Queues
Page 217
5-1. Queue Operations
Page 218
Enqueue
Page 218
Dequeue
Page 218
Queue Front
Page 219
Queue Rear
Page 220
Queue Example
Page 220
5-2. Queue Linked List Design
Page 220
Data Structure
Page 220
Queue Algorithms
Page 222
Create Queue
Page 224
Enqueue
Page 224
Dequeue
Page 225
Retrieving Queue Data
Page 227
Empty Queue
Page 228
Full Queue
Page 228
Queue Count
Page 228
Destroy Queue
Page 229
5-3. Queuing Theory
Page 229
5-4. Queue Applications
Page 231
Queue Simulation
Page 231
Categorizing Data
Page 239
5-5. Categorizing Data — C++
Page 241
Implementation
Page 241
Main Line Logic
Page 241
Fill Queues
Page 242
Print Queues
Page 244
Print One Queue
Page 244
5-6. Queue ADT — Linked List Implementation
Page 246
Queue Structure
Page 246
Queue ADT Implementation
Page 247
5-7. Queue ADT — Array Implementation
Page 253
Array Queues Implementation
Page 254
5-8. Summary
Page 261
5-9. Practice Sets
Page 262
Exercises
Page 262
Problems
Page 265
Projects
Page 266
6. Recursion
Page 271
6-1. Factorial — A Case Study
Page 272
Recursion Defined
Page 272
Iterative Solution
Page 273
Recursive Solution
Page 273
6-2. How Recursion Works
Page 275
6-3. Designing Recursive Algorithms
Page 277
The Design Methodology
Page 278
Limitations of Recursion
Page 279
Design Implementation — Reverse a Linked List
Page 279
6-4. Another Case Study — Fibonacci Numbers
Page 281
6-5. The Towers of Hanoi
Page 285
Recursive Towers of Hanoi
Page 286
6-6. C++ Implementations of Recursion
Page 290
Fibonacci Numbers
Page 290
Prefix to Postfix Conversion
Page 291
Towers of Hanoi
Page 297
6-7. Summary
Page 299
6-8. Practice Sets
Page 300
Exercises
Page 300
Problems
Page 302
Projects
Page 303
7. Introduction to Trees
Page 305
7-1. Basic Tree Concepts
Page 306
Terminology
Page 306
Tree Representation
Page 308
7-2. Binary Trees
Page 310
Properties
Page 312
7-3. Binary Tree Traversals
Page 313
Depth-First Traversals
Page 314
Breadth-First Traversals
Page 320
7-4. Expression Trees
Page 322
Infix Traversal
Page 322
Postfix Traversal
Page 324
Prefix Traversal
Page 324
7-5. General Trees
Page 324
Changing General Tree to Binary Tree
Page 325
Insertions into General Trees
Page 326
General Tree Deletions
Page 327
7-6. Huffman Code
Page 327
7-7. Summary
Page 332
7-8. Practice Sets
Page 333
Exercises
Page 333
Problems
Page 337
Projects
Page 337
8. Search Trees
Page 338
8-1. Binary Search Trees
Page 339
Definition
Page 339
Operations on Binary Search Trees
Page 341
Binary Search Tree Search Algorithms
Page 342
8-2. AVL Trees
Page 353
AVL Balance Factor
Page 354
Balancing Trees
Page 355
AVL Node Structure
Page 360
AVL Delete Algorithm
Page 367
Adjusting the Balance Factors
Page 372
8-3. AVL Tree Implementation
Page 372
Data Structure
Page 372
Program Design
Page 373
Count Words
Summary
Page 377
8-4. AVL Abstract Data Type
Page 378
AVL Tree Data Structures
Page 379
AVL Tree Functions
Page 380
AVL Tree Data Processing
Page 392
AVL Tree Utility Functions
Page 395
8-5. Summary
Page 398
8-6. Practice Sets
Page 399
Exercises
Page 399
Problems
Page 403
Projects
Page 403
9. Heaps
Page 406
9-1. Heap Definition
Page 407
9-2. Heap Structure
Page 407
9-3. Basic Heap Algorithms
Page 408
ReheapUp
Page 409
ReheapDown
Page 411
9-4. Heap Data Structure
Page 412
9-5. Heap Algorithms
Page 414
ReheapUp
Page 414
ReheapDown
Page 415
BuildHeap
Page 416
InsertHeap
Page 418
DeleteHeap
Page 419
9-6. Heap Applications
Page 421
Selection Algorithms
Page 421
Priority Queues
Page 423
9-7. A Heap Program
Page 424
Heap Program Design
Page 425
Heap Functions
Page 430
9-8. Summary
Page 433
9-9. Practice Sets
Page 434
Exercises
Page 436
Problems
Page 436
Projects
Page 436
10. Multiway Trees
Page 439
10-1. m-Way Search Trees
Page 440
10-2. B-Trees
Page 442
B-Tree Insertion
Page 443
B-Tree Insert Design
Page 444
B-Tree Insert Node
Page 446
B-Tree Deletion
Page 454
Traverse B-Tree
Page 467
B-Tree Search
Page 470
10-3. Simplified B-Trees
Page 471
2-3 Tree
Page 471
2-3-4 Tree
Page 472
10-4. B-Tree Variations
Page 472
B*Tree
Page 473
B+Tree
Page 474
10-5. Lexical Search Tree
Page 474
Tries
Page 475
Trie Structure
Page 476
10-6. B-Tree Abstract Data Type
Page 478
Header File
Page 479
Utility Functions
Page 481
Insert Algorithms
Page 485
Delete Algoirthms
Page 491
10-7. Summary
Page 499
10-8. Practice Sets
Page 499
Exercises
Page 499
Problems
Page 500
Projects
Page 501
11. Advanced Sorting Concepts
Page 502
11-1. General Sort Concepts
Page 503
Sort Order
Page 503
Sort Stability
Page 504
Sort Efficiency
Page 504
Passes
Page 505
11-2. Insertion Sorts
Page 505
Straight Insertion Sort
Page 505
Shell Sort
Page 508
Insertion Sort Algorithms
Page 513
Insertion Sort Implementation
Page 515
11-3. Selection Sorts
Page 517
Straight Selection Sort
Page 517
Selection Sort Algorithms
Page 522
Selection Sort Implementation
Page 524
11-4. Exchange Sorts
Page 526
Bubble Sort
Page 526
Bubble Sort Algorithm
Page 527
Quick Sort
Page 529
Exchange Sort Algorithms
Page 536
11-5. Summary
Page 538
11-6. External Sorts
Page 542
Merging Ordered Files
Page 543
Merging Unordered Files
Page 544
The Sorting Process
Page 546
Sort Phase Revisited
Page 551
11-7. Summary
Page 553
11-8. Practice Sets
Page 554
Exercises
Page 554
Problems
Page 556
Projects
Page 556
12. Graphs
Page 560
12-1. Terminology
Page 561
12-2. Operations
Page 563
Add Vertex
Page 563
Delete Vertex
Page 563
Add Edge
Page 563
Delete Edge
Page 564
Find Vertex
Page 564
Traverse Graph
Page 564
12-3. Graph Storage Structures
Page 568
Adjacency Matrix
Page 568
Adjacency List
Page 569
12-4. Graph Algorithms
Page 570
Create Graph
Page 571
Insert Vertex
Page 572
Delete Vertex
Page 573
Insert Arc
Page 575
Delete Arc
Page 577
Retrieve Vertex
Page 578
First Arc
Page 579
Depth-First Traversal
Page 581
Breadth-First Traversal
Page 583
12-5. Networks
Page 585
Minimum Spanning Tree
Page 585
Shortest Path Algorithm
Page 591
12-6. Abstract Data Type
Page 596
Insert Vertex
Page 598
Delete Vertex
Page 599
Insert Arc
Page 600
Delete Arc
Page 602
Depth-First Traversal
Page 604
Breadth-First Traversal
Page 605
12-7. Summary
Page 607
12-8. Practice Sets
Page 608
Exercises
Page 608
Problems
Page 610
Projects
Page 611
Appendixes
A. ASCII Tables
Page 615
B. Structure Charts
Page 620
C. Program Standards and Styles
Page 627
D. Random Numbers
Page 633
E. Standard C++ Libraries
Page 639
F. C++ Function Prototypes
Page 641
G. Classes Related to Input and Output
Page 650
H. The String Class
Page 655
I. Pointers to Functions
Page 666
J. Inheritance
Page 670
K. C++ Templates
Page 685
L. Standard Template Library
Page 692
Solutions to Selected Exercises
Page 712
Glossary
Page 735
Index
Page 747

Edition Notes

Includes index

Published in
Pacific Grove, CA

Classifications

Library of Congress
QA76.73.C153 G545 2001

The Physical Object

Pagination
xiv, 754 p. :
Number of pages
754

Edition Identifiers

Open Library
OL16975453M
ISBN 10
053495216X
LCCN
00025353
LibraryThing
1584651
Goodreads
1060917

Work Identifiers

Work ID
OL11994669W

Community Reviews (0)

No community reviews have been submitted for this work.

Lists

History

Download catalog record: RDF / JSON
December 19, 2023 Edited by ImportBot import existing book
July 28, 2020 Edited by MARC Bot import existing book
February 14, 2020 Edited by MARC Bot remove fake subjects
July 22, 2017 Edited by Mek adding subject: In library
December 11, 2009 Created by WorkBot add works page