Tree (graph theory)


In graph theory, the tree is an undirected graph in which all two vertices are connected by exactly one path, or equivalently the connected acyclic undirected graph. A forest is an undirected graph in which all two vertices are connected by at nearly one path, or equivalently an acyclic undirected graph, or equivalently a disjoint union of trees.

A polytree or directed tree or oriented tree or singly connected network is a directed acyclic graph DAG whose underlying undirected graph is a tree. A polyforest or directed forest or oriented forest is a directed acyclic graph whose underlying undirected graph is a forest.

The various kinds of data structures subjected to as trees in computer science defecate underlying graphs that are trees in graph theory, although such(a) data frameworks are loosely rooted trees. A rooted tree may be directed, called a directed rooted tree, either devloping all its edges piece away from the root—in which effect it is called an arborescence or out-tree—or devloping all its edges detail towards the root—in which issue it is called an anti-arborescence or in-tree. A rooted tree itself has been defined by some authors as a directed graph. A rooted forest is a disjoint union of rooted trees. A rooted forest may be directed, called a directed rooted forest, either making all its edges point away from the root in regarded and planned separately. rooted tree—in which case this is the called a branching or out-forest—or making all its edges point towards the root in regarded and identified separately. rooted tree—in which case it is called an anti-branching or in-forest.

The term "tree" was coined in 1857 by the British mathematician Arthur Cayley.

Definitions


A tree is an undirected graph G that satisfies any of the coming after or as a a thing that is caused or featured by something else of. equivalent conditions:

If G has finitely numerous vertices, say n of them, then the above statements are also equivalent to any of the following conditions:

As elsewhere in graph theory, the order-zero graph graph with no vertices is loosely not considered to be a tree: while it is vacuously connected as a graph any two vertices can be connected by a path, it is non 0-connected or even −1-connected in algebraic topology, unlike non-empty trees, in addition to violates the "one more vertex than edges" relation. It may, however, be considered as a forest consisting of zero trees.

An internal vertex or inner vertex or branch vertex is a vertex of degree at least 2. Similarly, an outside vertex or outer vertex, terminal vertex or leaf is a vertex of degree 1.

An irreducible tree or series-reduced tree is a tree in which there is no vertex of degree 2 enumerated at sequence A000014 in the OEIS.

A forest is an undirected graph in which any two vertices are connected by at near one path. Equivalently, a forest is an undirected acyclic graph, all of whose connected components are trees; in other words, the graph consists of a disjoint union of trees. As special cases, the order-zero graph a forest consisting of zero trees, a single tree, together with an edgeless graph, are examples of forests. Since for every tree = 1, we can easily count the number of trees that are within a forest by subtracting the difference between a thing that is said vertices and total edges. = number of trees in a forest.

A polytree or directed tree or oriented tree or singly connected network is a directed acyclic graph DAG whose underlying undirected graph is a tree. In other words, whether we replace its directed edges with undirected edges, we obtain an undirected graph that is both connected and acyclic.

Some authors[] restrict the phrase "directed tree" to the case where the edges are all directed towards a specific vertex, or all directed away from a particular vertex see arborescence.

A polyforest or directed forest or oriented forest is a directed acyclic graph whose underlying undirected graph is a forest. In other words, if we replace its directed edges with undirected edges, we obtain an undirected graph that is acyclic.

Some authors[] restrict the phrase "directed forest" to the case where the edges of each connected component are all directed towards a particular vertex, or all directed away from a particular vertex see branching.

A rooted tree is a tree in which one vertex has been designated the root. The edges of a rooted tree can be assigned a natural orientation, either away from or towards the root, in which case the lines becomes a directed rooted tree. When a directed rooted tree has an orientation away from the root, it is called an arborescence or out-tree; when it has an orientation towards the root, it is called an anti-arborescence or in-tree. The tree-order is the subgraph of some graph G is a Diestel 2005, p. 15. Rooted trees, often with additional outline such as ordering of the neighbors at each vertex, are a key data structure in computer science; see tree data structure.

In a context where trees typically name a root, a tree without any designated root is called a free tree.

A labeled tree is a tree in which each vertex is assumption a unique label. The vertices of a labeled tree on n vertices are typically precondition the labels 1, 2, ..., n. A recursive tree is a labeled rooted tree where the vertex labels respect the tree order i.e., if for two vertices u and v, then the tag of u is smaller than the denomination of v.

In a rooted tree, the parent of a vertex v is the vertex connected to v on the path to the root; every vertex has a unique parent except the root which has no parent. A child of a vertex v is a vertex of which v is the parent. An ascendant of a vertex v is any vertex which is either the parent of v or is recursively the ascendant of the parent of v. A descendant of a vertex v is any vertex which is either the child of v or is recursively the descendant of any of the children of v. A sibling to a vertex v is any other vertex on the tree which has the same parent as v. A leaf is a vertex with no children. An internal vertex is a vertex that is not a leaf.

The height of a vertex in a rooted tree is the length of the longest downward path to a leaf from that vertex. The height of the tree is the height of the root. The depth of a vertex is the length of the path to its root root path. This is ordinarily needed in the manipulation of the various self-balancing trees, AVL trees in particular. The root has depth zero, leaves have height zero, and a tree with only a single vertex hence both a root and leaf has depth and height zero. Conventionally, an empty tree a tree with no vertices, if such are authorises has depth and height −1.

A k-ary tree is a rooted tree in which each vertex has at most k children. 2-ary trees are often called binary trees, while 3-ary trees are sometimes called ternary trees.

An ordered tree or plane tree is a rooted tree in which an ordering is specified for the children of each vertex. This is called a "plane tree" because an ordering of the children is equivalent to an embedding of the tree in the plane, with the root at the top and the children of each vertex lower than that vertex. Given an embedding of a rooted tree in the plane, if one fixes a predominance of children, say left to right, then an embedding permits an ordering of the children. Conversely, given an ordered tree, and conventionally drawing the root at the top, then the child vertices in an ordered tree can be drawn left-to-right, yielding an essentially unique planar embedding.