CITATION

Keogh, James and Davidson, Ken. Data Structures Demystified. McGraw-Hill Osborne Media, 2004.

Data Structures Demystified

Published:  February 2004

eISBN: 9780071469944 007146994X | ISBN: 9780072253597
  • Terms of Use
  • Want to learn more?
  • About the Authors
  • Contents at a Glance
  • Contents
  • Introduction
  • Chapter 1 Memory, Abstract Data Types, and Addresses
  • A Tour of Memory
  • Data and Memory
  • The Binary Numbering System
  • Reserving Memory
  • Abstract Data Type Groups
  • Memory Addresses
  • Real Memory Addresses
  • Abstract Data Types and Memory Addresses
  • Quiz
  • Chapter 2 The Point About Variables and Pointers
  • Declaring Variables and Objects
  • Primitive Data Types and User-Defined Data Types
  • User-Defined Data Type and Classes
  • Pointers
  • Declaring a Pointer
  • Data Type and Pointers
  • Assigning an Address to a Pointer
  • Accessing Data Pointed to by a Pointer
  • Pointer Arithmetic
  • Pointers to Pointers
  • Quiz
  • Chapter 3 What Is an Array?
  • An Array
  • Why an Array?
  • Arrays and Data Structures
  • Declaring an Array
  • Multidimensional Arrays
  • Why Use a Multidimensional Array?
  • Multidimensional Array in Memory
  • Declaring a Multidimensional Array
  • Assigning Values to a Multidimensional Array
  • Referencing the Contents of a Multidimensional Array
  • Pointers and Arrays
  • An Array of Pointers
  • An Array of Pointers to Pointers
  • More on an Array of Pointers to Pointers
  • Declaring and Using an Array of Pointers to Pointers
  • Pointers to Pointers in Action
  • Quiz
  • Chapter 4 Stacks Using an Array
  • A Stack
  • Inside a Stack
  • Push
  • Pop
  • Creating a Stack in C++
  • Creating a Push Member Function in C++
  • Creating a Pop Member Function in C++
  • Creating a Stack in Java
  • Creating a Push Member Method in Java
  • Creating a Pop Member Method in Java
  • Stack in Action Using C++
  • Stack in Action Using Java
  • Quiz
  • Chapter 5 Queues Using an Array
  • A Queue
  • A Simple Queue vs. Priority Queue
  • The Business of Queues
  • The Array and the Queue
  • Enqueue
  • Dequeue
  • Queues Using an Array in C++
  • Queues Using an Array in Java
  • Quiz
  • Chapter 6 What Is a Linked List?
  • A Linked List
  • The Real World and Linked Lists
  • The Structure of a Linked List
  • Single Linked List vs. Doubly Linked List
  • The Linked List Class
  • LinkedList Constructor Destructor
  • Appending a Node to a Linked List
  • Display the Linked List
  • Transverse the Linked List
  • Destroying a Linked List
  • Linked Lists Using C++
  • Linked Lists Using Java
  • Quiz
  • Chapter 7 Stacks Using Linked Lists
  • A Stack
  • LinkedList Class
  • The StackLinkedList Class
  • StackLinkedList Constructor and Destructor
  • Pushing a Node onto a Stack-Linked List
  • Popping a Node from a Stack-Linked List
  • Determine If the Stack Is Empty
  • StackLinked List Using C++
  • LinkedList Header File and LinkedList Functions
  • StackLinkedList Header File and StackLinkedList Source File
  • StackLinkedList Application
  • StackLinked List Using Java
  • Quiz
  • Chapter 8 Queues Using Linked Lists
  • A Queue
  • The Linked List Queue
  • Enqueue
  • Dequeue
  • Linked List Queue Using C++
  • Linked List Queue Using Java
  • Quiz
  • Chapter 9 Stacks and Queues: Insert, Delete, Peek, Find
  • The Enhanced LinkedList Class
  • removeNode(), removeNodeAt(), and deleteRemove()
  • removeNodeAt()
  • deleteNode()
  • findNode()
  • insertNodeAt()
  • peek()
  • getSize()
  • Enhanced LinkedList Class Using C++
  • Enhanced LinkedList Class Using Java
  • Quiz
  • Chapter 10 What Is a Tree?
  • A Tree
  • Why Use a Binary Tree?
  • Parts of a Binary Tree
  • Depth and Size
  • Why Use a Binary Tree?
  • The Key
  • Creating a Binary Tree
  • Constructor and Destructor
  • add() and addNode()
  • remove(), removeNode(), and removeRootNode()
  • removeAll() and removeAllNodes()
  • get() and getNode()
  • contains() and containsNode()
  • displayInOrder() and processNodesInOrder()
  • getSize(), getDepth(), and getTreeDepth()
  • Binary Tree Using C++
  • Binary Tree Using Java
  • Quiz
  • Chapter 11 What Is a Hashtable?
  • A Hashtable
  • Problems with Hashing
  • Developing a Hashtable
  • The Hashtable Class
  • Constructor and Destructor
  • Inserting a New Entry
  • Retrieving a Value
  • find()
  • contains()
  • Remove an Entry
  • getSize()
  • hashString()
  • initIterator()
  • hasNext() and getNextKey()
  • Hashtable Using C++
  • Hashtable Using Java
  • Quiz
  • Final Exam
  • Answers to Quizzes and Final Exam
  • Chapter 1
  • Chapter 2
  • Chapter 3
  • Chapter 4
  • Chapter 5
  • Chapter 6
  • Chapter 7
  • Chapter 8
  • Chapter 9
  • Chapter 10
  • Chapter 11
  • Final Exam
  • Index