tree structure

{{short description|Way of representing the hierarchical nature of a structure in a graphical form}}

{{more footnotes|date=July 2014}}

{{merge from|Dendrogram|date=May 2025}}

File:Binary tree structure.svg

File:ENC SYSTEME FIGURE.jpeg (1752) used a tree diagram to show the way in which its subjects were ordered.]]

A tree structure, tree diagram, or tree model is a way of representing the hierarchical nature of a structure in a graphical form. It is named a "tree structure" because the classic representation resembles a tree, although the chart is generally upside down compared to a biological tree, with the "stem" at the top and the "leaves" at the bottom.

A tree structure is conceptual, and appears in several forms. For a discussion of tree structures in specific fields, see Tree (data structure) for computer science; insofar as it relates to graph theory, see tree (graph theory) or tree (set theory). Other related articles are listed below.

Terminology and properties

The tree elements are called "nodes".

The lines connecting elements are called "branches".

Nodes without children are called leaf nodes, "end-nodes", or "leaves".

Every finite tree structure has a member that has no superior. This member is called the "root" or root node. The root is the starting node. But the converse is not true: infinite tree structures may or may not have a root node.

The names of relationships between nodes model the kinship terminology of family relations. The gender-neutral names "parent" and "child" have largely displaced the older "father" and "son" terminology. The term "uncle" is still widely used for other nodes at the same level as the parent, although it is sometimes replaced with gender-neutral terms like "ommer".{{cite web |title=Ethereum Glossary |url=https://github.com/ethereum/wiki/wiki/Glossary |website=GitHub |access-date=17 April 2019 |archive-date=25 April 2019 |archive-url=https://web.archive.org/web/20190425135357/https://github.com/ethereum/wiki/wiki/Glossary |url-status=live }}

  • A node's "parent" is a node one step higher in the hierarchy (i.e. closer to the root node) and lying on the same branch.
  • "Sibling" ("brother" or "sister") nodes share the same parent node.
  • A node's "uncles" (sometimes "ommers") are siblings of that node's parent.
  • A node that is connected to all lower-level nodes is called an "ancestor". The connected lower-level nodes are "descendants" of the ancestor node.

In the example, "encyclopedia" is the parent of "science" and "culture", its children. "Art" and "craft" are siblings, and children of "culture", which is their parent and thus one of their ancestors. Also, "encyclopedia", as the root of the tree, is the ancestor of "science", "culture", "art" and "craft". Finally, "science", "art" and "craft", as leaves, are ancestors of no other node.

Tree structures can depict all kinds of taxonomic knowledge, such as family trees, the biological evolutionary tree, the evolutionary tree of a language family, the grammatical structure of a language (a key example being S → NP VP, meaning a sentence is a noun phrase and a verb phrase, with each in turn having other components which have other components), the way web pages are logically ordered in a web site, mathematical trees of integer sets, et cetera.

The Oxford English Dictionary records use of both the terms "tree structure" and "tree-diagram" from 1965 in Noam Chomsky's Aspects of the Theory of Syntax.

{{OED | tree}}

In a tree structure there is one and only one path from any point to any other point.

Computer science uses tree structures extensively (see Tree (data structure) and telecommunications.)

For a formal definition see set theory, and for a generalization in which children are not necessarily successors, see prefix order.

Examples of tree structures

File:Tree Map.png as a nested set ]]

File:1934-Thermionic-Tube-Chart.jpg

Representing trees

There are many ways of visually representing tree structures.

Almost always, these boil down to variations, or combinations,

of a few basic styles:

= Nested sets =

Nested sets that use enclosure or containment to show parenthood; examples include TreeMaps, fractal maps, and Euler diagrams:

border="0" style="border-collapse:collapse;text-align:center;"
height="8px" | File:Blank.png

! rowspan="2" | encyclopedia

width="20px" style="border-width:1px 0 0 1px;border-style:solid;" | File:Blank.png

! width="20px" style="border-width:1px 1px 0 0;border-style:solid;" | File:Blank.png

colspan="3" style="border-width:0 1px 1px 1px;border-style:solid;" |

{| border="0" style="border-collapse:collapse;"

{| border="0" style="border-collapse:collapse;margin:0 0.5em 0.5em 0.5em;text-align:center;"
height="8px" | File:Blank.png

! rowspan="2" | culture

style="border-width:1px 0 0 1px;border-style:solid;" | File:Blank.png

! style="border-width:1px 1px 0 0;border-style:solid;" | File:Blank.png

colspan="3" style="border-width:0 1px 1px 1px;border-style:solid;" | art   craft

! science 

|}

|}

{{clear}}

= Layered "icicle" diagrams =

Layered "icicle" diagrams that use alignment/adjacency.

border="1" style="border:none;border-collapse:collapse;rules:all;text-align:center;"
colspan="3" | encyclopedia
colspan="2" | culture

! science

art

! craft

{{clear}}

= Outlines and tree views =

{{anchor|Outlines|Tree views}}

Lists or diagrams that use indentation, sometimes called "outlines" or "tree views".

An outline:

:encyclopedia

::culture

:::art

:::craft

::science

{{clear}}

A tree view:

{{Tree list}}

  • encyclopedia
  • culture
  • art
  • {{Tree list/final branch}}craft
  • {{Tree list/final branch}}science

{{Tree list/end}}

{{clear}}

{{clear right}}

= Nested parentheses =

{{See also|Newick format|Dyck language}}

A correspondence to nested parentheses was first noticed by Sir Arthur Cayley:

((art,craft)culture,science)encyclopedia

or

encyclopedia(culture(art,craft),science)

{{clear}}

= Radial trees =

{{See also|Radial tree}}

Trees can also be represented radially:

border="0" style="border-collapse:collapse;margin:1em;text-align:center;"
art
      \

! craft
/    

colspan="2" | culture
|
colspan="2" style="font-size:125%;" | encyclopedia
colspan="2" | |
science

{{clear}}

See also

References

Further reading

Identification of some of the basic styles of tree structures can be found in:

  • Jacques Bertin, Semiology of Graphics, 1983, University of Wisconsin Press (2nd edition 1973, {{ISBN|978-0299090609}};
  • {{cite book |author=Donald E. Knuth |title=The Art of Computer Programming |series=Volume 1: Fundamental Algorithms |year=1968 |publisher=Addison-Wesley |pages=309–310}}
  • Brian Johnson and Ben Shneiderman, "[https://ieeexplore.ieee.org/document/175815 Tree-maps: A space-filling approach to the visualization of hierarchical information structures]", in Proceedings of IEEE Visualization (VIS), 1991, pp. 284–291, {{ISBN|0-8186-2245-8}};
  • Peter Eades, Tao Lin, and Xuemin Lin, "Two Tree Drawing Conventions", International Journal of Computational Geometry and Applications, 1993, volume 3, number 2, pp. 133–153.
  • {{cite book |author1=Manuel Lima |author1-link=Manuel Lima |title=The Book of Trees: Visualizing Branches of Knowledge|date=2014 |publisher=Princeton Architectural Press |location=New York |isbn=978-1-616-89218-0 |edition=1st}}