CSC265 (Fall 2019): Enriched Data Structures and Analysis

General Info

The lectures allow us to explain new material, how it relates to the rest of the course (and what you've learned in other courses), and to show examples of applying the material. The core content of the lectures can be found in the course readings. The value of the lectures is that your instructor provides context and motivation for the material, focuses your attention on the key and more subtle points, and answers questions that arise while you're learning something new.

We will not publish lecture notes. You are expected to read the assigned material, and make your own notes during lectures and tutorials. While making notes, you should not aim to record everything that is said and written during the lecture, but instead write down the main points that will help you to understand the reading material, and to study for exams.

Students often learn a lot from working with one another. You are encouraged to meet with other students taking the course. For example, you might work through exercises in the course text together or discuss any material you found confusing in lecture or in the text.

Tentative Schedule of Lectures

Unless otherwise specified, all readings are from CLRS.

Week and Topic Readings
Week 1: Sept 9 –15
ADTs, Priority queues, Heaps
Review: Appendices A, C; Chapters 2, 3
Chapter 6
Week 2: Sept 16–22
Priority queues: mergeable heaps
Dictionaries: Review of BSTs
Review: Chapter 12;
Binomial heaps (from CLRS ed 2).
Week 3: Sept 23–29
Balanced Binary Search Trees
Notes on AVL trees by V. Hadzilacos.
Chapter 18
Week 4: Sept 30–Oct 6
Augmenting Data Structures
Introduction to Hashing;
Chapter 14; Sections 5.1-5.3 and 11.1-11.3
Review of Probability Theory (also take a look at Appendix C)
Week 5: Oct 7–13
Constructing a Universal Hash Family
Section 11.5;
Sections 31.1-31.4; Review of Modular Arithmetic
Week 6: Oct 14–20
Randomized Quicksort
Amortized Analysis
Chapter 7; Sections 17.1-17.3
Week 7: Oct 21–27
Dynamic Tables
Section 17.4
Week 8: Oct 28–Nov 3
Disjoint Sets
Sections 21.1-21.3
Nov 4–10
NO CLASS
Week 9: Nov 11–17
Lower Bounds
Section 8.1.; Notes on decision trees; Notes on adversarial method.
Watch video lectures! (See Announcements for links)
Week 10: Nov 18–24
Finish Disjoint Sets; BFS
log* analysis (from CLR 1st edition).
Graphs: Appendix B.4
BFS: Sections 22.1-22.2
Week 11: Nov 25–Dec 1
DFS
Chapter 22.3
Week 12: Dec 2–8
Minimum spanning trees
Chapter 23