Trees are used in machine learning, and decision trees and random forests are some of the best nonneural network classification tools. We have discussed the heap <…>, which is a special tree that efficiently implements priority queues. There are many more specialized trees, such as b-trees, which are used to store data efficiently (like in databases), or kd-trees, which allow the indexing of multidimensional data. But these are just the tip of the iceberg: trees are a very large class of extremely versatile data structures.