| Instructor: Peter Breznay | Location: MAC 223 | |
| Office Hours: MW 2:00-3:00 pm TR 5:00-6:00 pm | Office: CH C324 | |
|
and by appointment | Phone: 465-2170 |
Text: Goodrich, Tamassia and Mount: Data Structures and Algorithms in C++, John Wiley and Sons, 2004.
| Topic | Description |
|---|---|
| 1 | Overview of C++ concepts and OOP. Chapters 1 and 2. |
| 2 | Mathematics review. Induction, series. Running Time Analysis. Chapter 3. |
| 3 | Stacks, Queues and Recursion. Chapter 4. |
| 4 | Vectors. Lists and Sequences. Chapter 5. |
| 5 | Binary Search Trees. Tree concepts. Tree traversals, Expression Trees. Chapter 6. |
| 6 | Balanced BSTs. AVL Trees Binary Search Trees. Balanced BSTs.Chapter 9. |
| 7 | Red-Black Trees.Chapter 9. Priority Queues and Heaps. Chapter 7. |
| 8 | Dictionaries and Hash Tables. Chaining and Open Addressing. Chapter 8. |
| 9 | Priority Queues. Binary Heaps Sorting, Sets and Selection. Chapter 10. |
| 10 | Sorting. Lower Bound. Insertion, Mergesort and Heapsort. Sections 7.1 - 7.5. |
| 11 | Quicksort. Pivot elements and cutoffs. |
| 12 | Algorithm Design Techniques. Greedy algorithms. Section 10.1 |
| 13 | Divide and Conquer. Dynamic Programming. Sections 10.2 - 10.3. |
| 14 | Randomized algorithms. Skip Lists. Sections12.3. |