Study Guide — midterm
CS260 — Data Structures


You must know your name, student ID, user ID, ad section #.

You may bring, by way of a cribsheet, a single 8.5 &mult; 11 piece of paper, hand-written, double-sided. This should be for quick reference only. If you're looking at the paper for inspiration, you're probably thinking a little wrong. We're looking for your brain, not a parakeet.

Please turn all cell phones off (unless you are expecting a child). You may not talk on the phone, nor text during the exam. You may not use a calculator, nor any other device. No headphones/music, either.

Remember, where we ask for an algorithm, we also want you to provide some run-time analysis.

There are (roughly) 130 points that you may attempt on this exam. Only the first 100 of them will do you any good. The short of this is that you don't need to finish the whole thing. Please skim through the questions before you start, to avoid wasting a lot of time on a question that you're just not feeling at that moment.

Topics for Study

Asymptotic Analysis

Providing bounds (upper and lower) on execution time, and space required.

Basic (low-level) Linear Containers

Understand the time required for the various operations on these containers, and the space required.

Basic Adapters: Stacks and Queues

Be able to implement each of these on an array, and on a list.


Sets & Dictionaries

A dictionary is a set of (key, value) pairs.

Be able to describe operations, along w/associated runtimes of the various set operations using the following implementations:

Priority Queue

Sets with a min (max) operation.