An introduction to the fundamental data structures of computer science: lists, stacks, queues, trees, BSTs, graphs, sets and their accompanying algorithms. Principles of algorithmic analysis and object reasoning and design will be introduced using mathematical techniques for the notions of both complexity and correctness. More practical issues, such as memory management and hashing, will also be covered.
Instructor: Dianna Xu , Park 203
TAs will be in the lab every evening from 7pm-9pm EXCEPT for Saturday