CIS 350 Review
Fall 2000
Text: Horowitz 1.1-2.2,2.5-4.7.4.9-5.7,6.1-6.4,
5.1-9.1,10.1-10.4,10.9
Abstract Data Types in C++
attributes, operations, declarations, type checking,
implementation
Recursion
data structures, algorithms and simulation
Dynamic Data Structures
attributes, implementation, operations, applications, stacks,
queues, linked lists (singly linked, doubly linked, circular),
header nodes, binary trees (threading, balancing, traversals),
general trees, partially ordered trees (heaps), tries, B-trees,
priority queues, directed graphs (shortest path, traversals),
undirected graphs (minimum cost spanning trees, traversals,
matching)
Searching Algorithms
sequential, binary, indexed, hash coding and collision
handling
Sorting Algorithms
insertion, selection, bubble, heap, quick, shell, radix, merge,
bin, topological
Algorithm Analysis
efficiency, big Oh notation, order arithmetic, worst case
comparisons and methods of improving performance, solving
recurrence relations
Algorithm Design
divide-and-conquer, dynamic programming, greedy algorithms
Programming
Expect to write 2 or 3 procedures/functions, and to trace
several (including internal representations of data
structures)
Object-oriented Programming
As an alternative means of implementing ADT's.