Final Exam Study Guide
CSE 326: Data Structures
Winter 2007
Final Exam, Thursday March 15.
- Section A: (Bacon) 8:30
- 10:20 MGH 231
- Section B: (Anderson) 10:30 -
12:20 MGH 241
(Note this is different from the regular exam slot
and location.)
- Exam policies
- Closed book, closed notes.
Calculators allowed (not sure they will be useful for anything but you
may use one if desired)
- The exam begins
promptly at 8:30am (10:30am) and ends at 10:20am (12:20pm).
Topics covered on the Final
Exam:
Pre-Midterm:
- Linked lists. Simple
linked lists, doubly linked lists, circularly linked lists.
- Stacks and Queues,
array and list implementations.
- Recursion. Designing
algorithms recursively.
- Asymptotic analysis,
Big-O. Worst case, upper bound, lower bound, analyzing loops,
recurrences, amortized complexity.
- Trees –
definitions
- Binary Heaps, D-heaps
- Findmin, Deletemin, Insert. Additional operations of increase,
decrease, buildheap.
- Leftist Heaps and Skew
Heaps - Findmin, Deletemin, Insert. Additional operations of merge,
increase, decrease
- Binomial Queues - Findmin,
Deletemin, Insert. Additional operations of merge, increase, decrease.
- Dictionary ADT
- Binary search trees
– Inorder, preorder, postorder traversals, insert, delete, find.
- AVL trees - Single and
double rotations, insert, find.
- Splay trees - Splaying,
insert, find.
Post
Midterm:
- The memory hierarchy.
Temporal and spatial locality.
Data structure choice and the memory hierarchy.
- B-trees. Motivation,
choice of M and L, insert (no delete).
- Hashing. Properties of
good hash functions. Selecting hash table size. Separate chaining and open
addressing. Linear Probing, Quadratic Probing, & Double Hashing to
resolve collisions. Rehashing.
- Disjoint Union/Find.
Up-trees. Weighted union (union by size) and path compression.
- Sorting. Insertion
sort, Selection sort, Heap sort, Merge sort, quicksort.
- Bucket sort, Radix
sort. Lower bound on comparison sorting. In-place sorting. Stable
sorting.
- Graphs. Directed and
undirected. Adjacency list and adjacency matrix representations.
- Topological sorting.
- Graph searching.
Depth-first, breadth-first search, best-first search.
- Shortest paths.
Dijkstra's algorithm. Greedy Algorithms.
- Minimum spanning tree:
Prim’s and Kruskal’s algorithms.
- Do concrete problems from
the book and re-work problems from lecture, section, and HW.
All material from lecture up through Minimum spanning trees
is fair game.