A decision tree is a machine learning algorithm that belongs to the family of supervised learning algorithms. As such, they rely on training data to train them. From the features on the training data and the target variable, they can learn and build their knowledge base, based on which they can later take decisions on new data. Even though decision trees are mostly used in classification problems, they can be used very well in regression problems also. That is, they can be used to classify between discrete values (such as 'has disease' or 'no disease') or figure out continuous values (such as the price of a commodity based on some rules).
As mentioned earlier, there are two types of decision trees: