A Top-Down Algorithm solves a problem by breaking it down (from the top) into sub-problems, solving for the base case, and traveling up the function stack to solve the larger problems. Example: Solving for the nth number in the Fibonacci Sequence recursively.
A Bottom-Up Algorithm takes a different approach.