Skip to content

Data Structures A Pseudocode Approach with C++

Best in textbook rentals since 2012!

ISBN-10: 053495216X

ISBN-13: 9780534952167

Edition: 2000

Authors: Behrouz A. Forouzan, Richard F. Gilberg

List price: $115.95
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

This new text makes it simple for beginning computer science students to design algorithms first using pseudocode and then build them using the C++ programming language. Based on Gilberg and Forouzan's successful text, Data Structures: A Pseudocode Approach with C, this new book emphasizes a practical approach to data structures.
Customers also bought

Book details

List price: $115.95
Copyright year: 2000
Publisher: Course Technology
Publication date: 4/25/2000
Binding: Hardcover
Pages: 746
Size: 7.25" wide x 9.00" long x 1.25" tall
Weight: 2.882
Language: English

Dr. Stephen Sparacio, Sr. has taught English, including Journalism and Creative Writing, part-time at five colleges. At Baldwin Senior High School, Baldwin, L.I., he taught English and Journalism before becoming English Department Chairman and then Administrative Assistant to the Principal. As an Army journalist stationed in La Rochelle, France, he was Sports Editor of one of the three military weekly newspapers. A Public Information Specialist, he also wrote news and feature stories for the American Forces Radio Network, Army Times, N.Y. Herald Tribune (Paris Edition), Stars and Stripes, and hometown newspapers. For special occasions he wrote speeches for the Commanding General. A few…    

Introduction
Pseudocode
Algorithm Header
Purpose, Conditions, and Return
Statement Numbers
Variables
Algorithm Analysis
Statement Constructs
Pseudocode Example
The Abstract Data Type
Atomic and Composite Data
Data Structure
Abstract Data Type
A Model for an Abstract Data Type
ADT Operations
ADT Data Structure
ADT Class Templates
Algorithm Efficiency
Linear Loops
Logarithmic Loops
Nested Loops
Big-O Notation
Standard Measures of Efficiency
Big-O Analysis Examples
Summary
Practice Sets
Exercises
Problems
Projects
Searching
List Searches
Sequential Search
Variations on Sequential Searches
Binary Search
Binary Search Algorithm
Analyzing Search Algorithms
C++ Search Algorithms
Sequential Search in C++
Binary Search in C++
Search Example
Hashed List Searches
Basic Concepts
Hashing Methods
Hasing Algorithm
Collision Resolution
Open Addressing
Linked List Resolution
Bucket Hashing
Combination Approaches
Hash List Example
Summary
Practice Sets
Exercises
Problems
Projects
Linked Lists
Linear List Concepts
Insertion
Deletion
Retrieval
Traversal
Linked List Concepts
Nodes
Linked List Data Structure
Pointers to Linked Lists
Linked List Algorithms
Create List
Insert Node
Delete Node
Search List
Unordered List Search
Retrieve Node
Empty List
Full List
List Count
Traverse List
Destroy List
Processing a Linked List
Add Node
Remove Node
Print List
Testing Insert and Delete Logic
List Applications
Append Lists
Array of Lists
Complex Linked List Structures
Circularly Linked Lists
Doubly Linked Lists
Multilinked Lists
Multilinked List Insert
Multilinked List Delete
Building a Linked List--C++ Implementation
Data Structure
Application Functions
List Abstract Data Type--Linked List Implementation
List ADT Declaration
Summary
Practice Sets
Exercises
Problems
Projects
Stacks
Basic Stack Operations
Push
Pop
Stack Top
Stack Linked List Implementation
Data Structure
Stack Algorithms
Stack Applications
Reversing Data
Reverse a List
Convert Decimal to Binary
Parsing
Postponement
Backtracking
Eight Queens Problem--C++ Implementation
Main Line Logic
Get Board Size
Stack Abstract Data Type Implementation
Data Structure
Stack ADT Implementation
Stack ADT--Array Implementation
Array Data Structure
Create Stack Array
Push Stack Array
Pop Stack Array
Stack Top Array
Empty Stack Array
Full Stack Array
Stack Count Array
Destroy Stack Array
Summary
Practice Sets
Exercises
Problems
Projects
Queues
Queue Operations
Enqueue
Dequeue
Queue Front
Queue Rear
Queue Example
Queue Linked List Design
Data Structure
Queue Algorithms
Create Queue
Enqueue
Dequeue
Retrieving Queue Data
Empty Queue
Full Queue
Queue Count
Destroy Queue
Queuing Theory
Queue Applications
Queue Simulation
Categorizing Data
Categorizing Data--C++ Implementation
Main Line Logic
Fill Queues
Print Queues
Print One Queue
Queue ADT--Linked List Implementation
Queue Structure
Queue ADT Implementation
Queue ADT--Array Implementation
Array Queues Implementation
Summary
Practice Sets
Exercises
Problems
Projects
Recursion
Factorial--A Case Study
Recursion Defined
Iterative Solution
Recursive Solution
How Recursion Works
Designing Recursive Algorithms
The Design Methodology
Limitations of Recursion
Design Implementation--Reverse a Linked List
Another Case Study--Fibonacci Numbers
The Towers of Hanoi
Recursive Towers Of Hanoi
C++ Implementations of Recursion
Fibonacci Numbers
Prefix to Postfix Conversion
Towers of Hanoi
Summary
Practice Sets
Exercises
Problems
Projects
Introduction to Trees
Basic Tree Concepts
Terminology
Tree Representation
Binary Trees
Properties
Binary Tree Traversals
Depth-First Traversals
Breadth-First Traversals
Expression Trees
Infix Traversal
Postfix Traversal
Prefix Traversal
General Trees
Changing General Tree to Binary Tree
Insertions into General Trees
General Tree Deletions
Huffman Code
Summary
Practice Sets
Exercises
Problems
Projects
Search Trees
Binary Search Trees
Definition
Operations on Binary Search Trees
Binary Search Tree Search Algorithms
AVL Trees
AVL Balance Factor
Balancing Trees
AVL Node Structure
AVL Delete Algorithm
Adjusting the Balance Factors
AVL Tree Implementation
Data Structure
Program Design
Count Words Summary
AVL Abstract Data Type
AVL Tree Data Structures
AVL Tree Functions
AVL Tree Data Processing
AVL Tree Utility Functions
Summary
Practice Sets
Exercises
Problems
Projects
Heaps
Heap Definition
Heap Structure
Basic Heap Algorithms
ReheapUp
ReheapDown
Heap Data Structure
Heap Algorithms
ReheapUp
ReheapDown
BuildHeap
InsertHeap
DeleteHeap
Heap Applications
Selection Algorithms
Priority Queues
A Heap Program
Heap Program Design
Heap Functions
Summary
Practice Sets
Exercises
Problems
Projects
Multiway Trees
m-Way Search Trees
B-Trees
B-Tree Insertion
B-Tree Insert Design
B-Tree Insert Node
B-Tree Deletion
Traverse B-Tree
B-Tree Search
Simplified B-Trees
2-3 Tree
2-3-4 Tree
B-Tree Variations
B*Tree
B+Tree
Lexical Search Tree
Tries
Trie Structure
B-Tree Abstract Data Type
Header File
Utility Functions
Insert Algorithms
Delete Algorithms
Summary
Practice Sets
Exercises
Problems
Projects
Advanced Sorting Concepts
General Sort Concepts
Sort Order
Sort Stability
Sort Efficiency
Passes
Insertion Sorts
Straight Insertion Sort
Shell Sort
Insertion Sort Algorithms
Insertion Sort Implementation
Selection Sorts
Straight Selection Sort
Selection Sort Algorithms
Selection Sort Implementation
Exchange Sorts
Bubble Sort
Bubble Sort Algorithm
Quick Sort
Exchange Sort Algorithms
Summary
Exchange Sort Implementation
External Sorts
Merging Ordered Files
Merging Unordered Files
The Sorting Process
Sort Phase Revisited
Summary
Practice Sets
Exercises
Problems
Projects
Graphs
Terminology
Operations
Add Vertex
Delete Vertex
Add Edge
Delete Edge
Find Vertex
Traverse Graph
Graph Storage Structures
Adjacency Matrix
Adjacency List
Graph Algorithms
Create Graph
Insert Vertex
Delete Vertex
Insert Arc
Delete Arc
Retrieve Vertex
First Arc
Depth-First Traversal
Breadth-First Traversal
Networks
Minimum Spanning Tree
Shortest Path Algorithm
Abstract Data Type
Insert Vertex
Delete Vertex
Insert Arc
Delete Arc
Depth-First Traversal
Breadth-First Traversal
Summary
Practice Sets
Exercises
Problems
Projects
Appendixes
ASCII Tables
Structure Charts
Program Standards and Styles
Random Numbers
Standard C++ Libraries
C++ Function Prototypes
Classes Related to Input and Output
The String Class
Pointers to Functions
Inheritance
C++ Templates
Standard Template Library
Solutions to Selected Exercises
Glossary
Index