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++ : functions, pointers, templates, libraries Objects and Classes: composition, privacy, derivation, polymorphism Object-oriented frameworks: reuse by specialization and over-riding Algorithms Generic functions Iteration Recursion Divide & Conquer Searching: roots, binary, ... Divide & Conquer Sorting: treesort, quicksort, ... Backtracking 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 Maps and Pairs Multimaps and Multisets. Priority Queues Hash Tables Implementing Generic Data Structures Lists using double links Stacks -- using another container or a singly linked list Queues -- using another container or a singly linked circular list Deques -- using vectors Sets -- using a tree Priority Queues using Heaps (complete binary tree in a vector) Maps -- using a set or as a hash table Hash Tables Explain why one implementation is used or rejected. Trees Using Trees 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 Balance AVL rotations Heaps: storing complete trees in a vector or array.