Binary Tree is a special data structure used for data storage purposes. A binary tree has the benefits of both arrays and linked lists. Binary trees are a non-linear data structure. Unlike arrays, linked lists, or stacks, which are linear data structures, trees are hierarchical data structures. A tree data structure can be defined recursively (locally) as a collection of nodes (starting at a root node), where each node is a data structure consisting of a value, together with a list of references to nodes (the "children"), with the constraints that no reference is duplicated, and none points to the root.
Source: GeeksforGeeks