A decision tree of N bits is a rooted binary tree. Each internal node of the tree contains an index i {1,..., N} and has two children. Each leaf contains either a 1 or a 0. To determine the value of the deterministic decision tree on an input x {0, 1}N we traverse the tree starting at the root. At each internal node we examine the xi, where i is the index stored at that node. If xi = 1 we follow the path through the left subtree; if xi = 0 we follow the path through the right subtree. The value stored at the leaf that we eventually reach is the output of the algorithm. Any decision tree computes an N-bit Boolean function. There are many different deterministic decision trees that compute any given function.
The decision tree complexity of a Boolean function is the minimum depth of any decision tree that computes that function. We denote the decision tree complexity of a Boolean function f by D(f ). The decision tree complexity of a function f is just its classical oracle query complexity. Any decision tree of depth D(f ) determines a minimal sequence of oracle queries that allow us to compute f (x) for any input x.