- Node: The term "node" itself is fundamental and has been used since the inception of tree data structures. It's a general term that refers to a point where two or more branches come together in a tree structure. The concept was borrowed from graph theory, which predated computer science.
-
Directory: In the context of file systems, which are hierarchical tree structures, the term "directory" is used to denote a node. This usage became prevalent with the development of early operating systems like Multics (1965) and UNIX (1969). Directories can contain files (leaves) and other directories (sub-trees).
-
File: Although typically considered a leaf node in a file system tree, the term "file" has been used to denote nodes that contain data.
-
Branch: Used to describe nodes of a tree that have child nodes, emphasizing the branching nature of trees.
-
Leaf: A node that has no children, often used in contrast to "branch" to describe the terminating nodes of a tree.
-
Record: In database systems and file structures like the B-tree (developed in 1971), the term "record" is sometimes used to describe nodes that hold data.
-
Folder: With the advent of graphical user interfaces (GUIs), particularly in systems like Apple's Macintosh (1984) and Microsoft Windows (1985), the term "folder" became a visual metaphor for directories (nodes) in a file system tree.
-
Object: In object-oriented programming (OOP), which gained popularity in the 1980s, nodes in tree structures are often represented as objects. This allows for encapsulation of data and behavior.
- Element: In the context of XML and HTML, which are hierarchical structures, nodes are often referred to as "elements." This term is used to denote tags that can contain other tags (sub-elements) or text content.
-
Vertex: While more commonly associated with graph theory, the term "vertex" is sometimes used to describe nodes in a tree, especially in more mathematical contexts.
-
Key: In some tree implementations, particularly those used for searching and sorting (e.g., binary search trees, AVL trees, red-black trees), nodes are identified by their "key" values.