Review for final.
References for after end of class
	http://www.nist.gov/dads/

Topics for CS330 Final
	In Book
	In Class
	On Web sites
		http://www.csci.csusb.edu/dick/cs330
		On Prof. Budd's site
	In C++ STL libraries /usr/include/g*/...
	Ask me.

Project Work
	Know what you did in your projects

Basic Ideas and Skills
	Iteration
	Recursion
	Timing and O() Notation
	Proofs
	C++ & UML  : functions, pointers,classes, templates, libraries

Algorithms
	Generic functions
	Iteration
	Recursion
	Divide & Conquer Searching: roots, binary, ...
	Divide & Conquer Sorting: treesort, quicksort, ...

The C++ STL
	Overview of C++ STL containers
	Know which library file defines common containers and algorithms
	Selecting a good STL container
	Using STL Generic Algorithms

Using Generic Data Structures -- operations, properties, ideas, examples of use.
	Strings
	Vectors
	Lists
	Stacks
	Queues
	Deques
	Sets and MultiSets
	Priority Queues
	Maps and Multimaps
	Hashing and hash_maps

Implementing Generic Data Structures
	Lists using double links
	Stacks -- using another container or as a singly linked list
	Queues -- using another container or a singly linked circular list
	Deques -- using vectors or lists
	Sets   -- using a tree
	Priority Queues using Heaps (complete binary tree in a vector)
	Hash Tables 

Trees
	Using Trees
	Various types of nodes in trees:
		Single link
		parent and children
		AVL Ballance factor
	Language and Math of Trees
	Binary Trees
		How binary trees can implement any tree
		The three main ways to traverse
		Implementing using a linked data
		Measuring Ballance
		The idea of AVL rotations and AVL trees.
		Heaps: storing complete trees in a vector or array.
			Keeping the big items on top.