Decision tree is kind of a flow chart. Start at a root, and goes into one of a child, until goes to leaf to made a decision, represent a class, since classification. Every internal node means testing an attribute. So decision tree’s depth is log attribute.
First, you constructin the tree, start at the root, deciding what attribute should you do first? and then use another unused attributes.
After that, you can delete branch that doesnt really matter. One of the algorithm to use is Hunt’s algorithm.