'''
recursion
    fibonacci sequence
    a base case (or cases) that specify when the  recursion terminates
    a rule (or rules) that reduce all other cases towards a base case
    calling a function inside of the function itself

quick sort
    pick a pivot

merge sort
'''