The algorithm builds a decision tree from a sample of data. The training phase results in a decision trees, which will be used to classify future input data. Every leaf represents a value of the result class and a non-leaf node represents a decision node.