Trees are nonlinear and hierarchical data structures that can represent information in a hierarchical manner. A tree consists of nodes connected by edges, with a root node at the top and leaf nodes at the bottom. Trees allow nodes to have multiple child nodes. Common tree traversal methods include preorder, inorder, and postorder traversals, which visit nodes in different orders. Trees have many applications including representing directory structures and family trees.