Reductions STUDY GUIDE
Terminology and Basics
    - Why reduce? To determine if we can solve problems and to determine how efficiently we can solve problems.
    
 -  What is the definition? Problem X reduces to problem Y if you can use an algorithm that solves Y to help solve X. Which means: Cost of solving X = total cost of solving Y + cost of reduction.
    
 - What does reduction tell us? 
    
 -  How to classify problems using reduction? To prove two problems have the same complexity, reduce problem X to problem Y AND reduce problem Y to problem X.
 
Examples
    - Element distinctness reduces to sorting means that
the cost of solving element distinctness = the cost of solving sorting + cost of reduction (checking if two adjacent elements are distinct)
     - Finding the median reduces to sorting means that
the cost of finding the median = the cost of sorting + the cost of reduction (finding the midmost element)
     - What are some other examples? And what is the cost of reduction in each case?
 
Recommended Problems
C level
    - Textbook 6.61
    
 - Textbook 6.62
    
 - Fall 2014 Final, #12c
 
B level
    - Spring 2015 Final, #10a
    
 - Spring 2015 Final, #12a
 
A level
    - Spring 2015 Final, #12b
    
 - Fall 2014 Final, #12a
    
 - Fall 2014 Final, #12b