Priority Queues
Comparison-based and Integer Data Structures
Self-Adjusting Data Structures
Dynamic Graph Structures
Cache-Oblivious Data Structures
Distributed Data Structures
Randomized Structures
This is a theoretical course and we will prove upper and lower bounds for these data structures.
As a pre-requisite for the course, you will be expected to be familiar with the basic concepts behind the design and analysis of sequential algorithms. This familiarity can be obtained from Com S 511 and, to a lesser extent, from Com S 311. Also, you should be comfortable with reasoning through and writing involved, mathematical proofs.