Recursion-Based Search
Recursion is used to define and analyze both data structures and procedures
A recursive procedure consists of:
A recursive steps: the procedure calls itself to repeat a sequence of actions
A terminating condition that stops the procedure from recurring endlessly (the recursive version of an endless loop)