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.

 

  • Study suggestions:

 

    • 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. 


cse326-request@cs.washington.edu (Last Update: )