Which data structure is non-linear and consists of nodes connected by edges, where nodes may have zero or more child nodes, typically used to represent hierarchical information?
A tree is a non-linear data structure that consists of nodes connected by edges. Each node in a tree can have zero or more child nodes, and it is a way to represent hierarchical structures such as directory structures or organizational structures. Binary trees are a special case with a maximum of two children, but 'tree' generally refers to any hierarchical node structure with any number of children, hence making it the correct answer. A graph can be cyclic and doesn't necessarily follow a hierarchical structure. A list and a stack are linear data structures, which differ significantly from the non-linear, hierarchical nature of trees.