Final Exam Study Guide 
CSE 373: Data Structures & Algorithms
Autumn 2012
Final Exam, Tuesday December 11, 2012. 
 - 2:30
     - 4:20pm in our regular lecture room
 - Exam policies 
  - Closed book, closed
      notes.  Calculators NOT
      allowed.  
- The exam begins promptly
      at 2:30pm and ends at 4:20pm. 
 
Topics covered on the Final Exam:
 
The Final exam is cumulative, although more weight will be
given to topics covered since the second midterm.
 
            From Midterm 1 & 2:
 
  - Stacks and Queues,
      array and list implementations. 
- Recursion.  Designing algorithms recursively. 
- Asymptotic analysis,
      Big-O.  Worst case, upper bound,
      lower bound, analyzing loops, recurrences. 
- Trees – definitions
- Dictionary ADT
- Binary search trees –
      Inorder, preorder, postorder traversals, insert, delete, find. 
- AVL trees - Single and
      double rotations, insert, find. (No delete)
- Binary Heaps -
      Findmin, Deletemin, Insert. Additional operations of increase, decrease,
      buildheap.
- D-heaps - Findmin,
      Deletemin, Insert. 
- Disjoint Union/Find -
      Dynamic equivalence relations, Up-tree representation, union, find,
      weighted union (union by size) and path compression. 
- Dictionary ADT
- 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.
- The memory
      hierarchy -  Temporal and spatial locality.  Data
      structure choice and the memory hierarchy.
- Graphs:
 
  
   - Definitions, adjacency list and adjacency matrix representations  
- Topological sort, Optimized topological sort
- Graph traversals: Depth-first, breadth-first
       search.   
 
            After Midterm 2:
 
  
   - Shortest paths.
       Dijkstra's algorithm. Greedy Algorithms. 
- Minimum Spanning Tree
       – Prim’s & Kruskal’s Algorithms
- Sorting: 
 
  
   - Insertion sort, Selection sort, Heap sort, Merge
       sort, Quicksort. Lower bound on comparison sorting.  
- In-place
       sorting.  Stable sorting.
- Bucket sort, Radix
       sort. 
- B-trees.  Motivation, structure, choice of M and
      L, Insert, Delete.
 
NOTES
·       
Topics covered on these exams may not be the exact same
topics covered on our exam; please see the list of topics listed above
for topics covered on our exam.
·       
These are provided to help you study and are not meant
to be interpreted as a guarantee of the format of our actual exam in terms of
length or type of questions.
 
Sample final exam questions:
 
Links to previous exams (copied from the Midterm 1 and Midterm 2 pages):
 
 
 
Study suggestions:
 
  - Do concrete problems
      from the book and re-work problems from lecture, old midterms, and HW. 
- Review slides, your
      notes, reading assignments.
- All material from
      lecture is fair game.