Notes
- A recursive method is method that calls itself.
- It contains at least one base case that halts recursion and once recursive call
- Each recursive call has own local variables
- Parameter values take progress of recursive process
- A recursion can be replaced with an iterative and give the same result
- Recursion can traverse String, array, and ArrayList objects
- binary search - sorted in order to maximize efficiency
- Linear recursion - only calls itself once
- Selection sort - finds the minimum value
- Merge sort - divides the input array into two halves, calls itself for the two halves, and then merges the two sorted halves