**
Binary Search
** -
A technique for searching an ordered list in which we first check the
middle item and - based on that comparison - "discard" half the data.
The same procedure is then applied to the remaining half until a match is
found or there are no more items left.

**
Binary Decision
** -
A decision with two possible choices.

**
Tree
** -
A data structure accessed beginning at the root node. Each node is either
a leaf or a parent which refers to child nodes. For more detailed
information, please refer to the

SparkNote on the subject.

**
Subarray
** -
A portion of a larger array.

**
Subscript
** -
A subscript is the index number of an element in an array. It is the
number of the "slot" in which the specified data resides.

**
Recursion
** -
Recursion is a method for solving a problem in which the problem is
broken down into a smaller version of itself which can either be solved
explicitly or can be solved recursively. See the

SparkNote on
recursion.

**
Base Case
** -
In recursion, the base case is the version of the problem that can be
solved explicitly, the problem that we know the answer to. For example,
in the fibonacci problem, the base case is
*n* = = 1
or
*n* = = 0
. For both
cases we know the answer is 1.