CPS222 Lecture: Queues and deques
- Last Revision 1/15/2013
Objectives:
1. To introduce the data structure queue.
2. To introduce STL support for queues
3. To show two ways of implementing the ADT queue - a circular array, and
a linked list.
4. To introdu

CPS222 Lecture: Course Introduction; Abstract Data Types; Introduction to C+
last revised January 7, 2013
Objectives:
1. To introduce the notion of an abstract data type.
2. To introduce the study of data structures and algorithms as classic
Computer Scie

CPS222 Lecture: Skip Lists
last revised 2/28/2013
Objectives:
1. To introduce skip lists
Materials:
1. Projectable of Figure 9.9
2. Graphical demo program and demo les animals.slist and animals.txt
I. Introduction
A. We have looked at two basic approaches

CPS222 Lecture: Disk-Based Search Structures; B-Trees
1/30/2013
Last revised
Objectives:
1. To introduce hashtables on disk.
2. To introduce B-Trees and key variant (B+ tree)
I. Introduction
- -A. All of the search structures we have considered thus far h

CPS222 Lecture: Balanced Binary Search Trees
last revised January 2, 2013
Objectives:
1. To introduce (2,4) (also known as 2-3-4) trees and their red-black
representation
I. Introduction to Balanced Binary Search Trees
A. We have seen that all operations

CPS222 Lecture: Threaded Binary Trees
last revised 1/25/2013
Objectives:
1. To introduce inorder-threading of binary trees, and to show how inthreaded
trees can be traversed easily.
2. To discuss threading schemes based on pre or post-order traversal inst

CPS222 Lecture: Hashing
last revised 1/25/2013
I. Introduction
- -A. Recall that a map is a data structure that can be used to store and
retrieve information associated with a certain key. The operations on
such a structure can be pictured as follows:
1.

CPS222 Lecture: Lists
Last revised 1/11/13
Objectives:
1. To introduce the data type sequence (ordered list).
2. To show how sequences can be implemented by either arrays or by
linked lists.
3. To introduce dynamic storage allocation/deallocation in C+.
4

CPS222 Lecture: Maps; Binary Search Trees
Last revised 1/25/2013
Objectives
1. To review the general concept of a map
2. To define binary search trees
3. To show how to perform operations on BST's
Materials
1. Code for BST algorithms to project
I. Introdu

CPS222 Lecture: Heaps; Priority Queues
Last revised 1/18/2013
Objectives
1. To define strictly binary, full and complete binary trees, and to prove
some important theorems about them.
2. To define a heap, and show how a heap can be maintained.
3. To show

Pointers and References in C+
- - - - -I. Some notes on computer memory and variables
A. On almost all computers, memory is structured as a sequence of bytes,
each
of which has an address.
Example: A computer with 1 GB of mememory would a memory with addr

CPS222 Lecture: Binary Trees
Last revised 1/18/2013
Objectives:
1. To define "binary tree"
2. To introduce traversals on binary trees
3. To introduce the use of binary trees to represent arithmetic expression
Materials:
1.
2.
3.
4.
Excerpts from recursive

CPS222 Lecture: Introduction to Trees and Forests
Last revised 1/18/2013
Objectives:
1. To define "tree" and "forest"
2. To introduce basic operations on trees (e.g. traversals)
3. To show how trees and forests can be represented as binary trees
Materials

CPS222 Lecture: Stacks
- last revised 1/15/13
Materials:
1.
2.
3.
4.
5.
Projectable version of definition of a stack as an ADT
reverse.cc and executable
palindrome.cc and executable
Projectable version of array implementation of stacks
Projectable version

CPS222 Lecture: Algorithm Analysis
last revised January 10, 2013
Objectives:
1. To introduce the notion of algorithm analysis in terms of time and space (by
counting instructions/memory cells)
2. To introduce the O(), omega(), theta() and omicron() measur