This course deals with one of the more
important questions of writing programs... how to make it work well.
There are a number of different ways to store, manipulate, and
analyze data that, can have, a huge impact on whether a program
completes in a second, minute or - in worst cases - years.
Major Topics
Design, representation and implementation of data
structures
Algorithm analysis and design: Big-O notation; time
requirement; space requirement; counting techniques
Application of stacks and queues, priority queues
Trees: binary and n-ary trees; traversals; threaded trees;
heaps; binary search trees, AVL trees, B-trees, and general search trees
Sets and their representation: bit map, hash table,
union-find