Trees are hierarchical data structures that are non-linear. A tree is an abstract data type that consists of a root node (parent) with multiple other nodes connected to it.