Data Structures
Spring 2008


Instructor: Peter BreznayLocation: MAC 223
Office Hours: MW 2:00-3:00 pm TR 5:00-6:00 pmOffice: CH C324

and by appointment

Phone: 465-2170

  Text:    Goodrich, Tamassia and Mount: Data Structures and Algorithms in C++, John Wiley and Sons, 2004.

TopicDescription
1Overview of C++ concepts and OOP. Chapters 1 and 2.
2Mathematics review. Induction, series. Running Time Analysis. Chapter 3.
3Stacks, Queues and Recursion. Chapter 4.
4Vectors. Lists and Sequences. Chapter 5.
5Binary Search Trees. Tree concepts. Tree traversals, Expression Trees. Chapter 6.
6Balanced BSTs. AVL Trees Binary Search Trees. Balanced BSTs.Chapter 9.
7Red-Black Trees.Chapter 9. Priority Queues and Heaps. Chapter 7.
8Dictionaries and Hash Tables. Chaining and Open Addressing. Chapter 8.
9Priority Queues. Binary Heaps Sorting, Sets and Selection. Chapter 10.
10Sorting. Lower Bound. Insertion, Mergesort and Heapsort. Sections 7.1 - 7.5.
11Quicksort. Pivot elements and cutoffs.
12Algorithm Design Techniques. Greedy algorithms. Section 10.1
13Divide and Conquer. Dynamic Programming. Sections 10.2 - 10.3.
14 Randomized algorithms. Skip Lists. Sections12.3.

Grading Policy: Homeworks 50%, Exams 15% each, final 20%.