Tree (graph theory)
5 stars based on
In mathematicsand more specifically in graph theorya tree is an undirected graph in which any two vertices are connected by exactly one path. In other words, any acyclic connected graph is a tree. A forest is a disjoint union of trees. The various kinds of data structures referred to as trees in computer science have underlying graphs that are trees in graph theory, although such data structures are generally rooted trees. A rooted tree may be directed, called a directed rooted tree  either making all its edges point away from the root—in which case it is called an arborescence branching or out-tree  —or making all its edges point towards the root—in which case it is called an anti-arborescence  or in-tree.
The term "tree" was coined in by the British mathematician Arthur Cayley. A tree is an undirected graph G that satisfies any of the following equivalent conditions:. If G has finitely many vertices, say n of them, then number of edges binary trees with n nodes 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 generally excluded from consideration: An internal vertex or inner vertex or branch vertex is a vertex of degree at least 2.
Similarly, an external vertex or outer vertexterminal 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. A forest is an undirected graph, all of whose connected components are trees; in other words, the graph consists of a disjoint union of trees. Equivalently, a forest is an undirected acyclic graph.
As special cases, an empty graph, a single tree, and the discrete graph on a set of vertices that is, the graph with these vertices that has no edgesare examples of forests. A polytree  or oriented tree   or singly connected network  is a directed acyclic graph DAG whose underlying undirected graph is a tree. In other words, if we replace its directed edges with undirected edges, we obtain an undirected graph that is both connected and acyclic. A directed tree is a directed graph which would be a tree if the directions on the edges were ignored, i.
Some authors restrict the phrase to the case where the edges are all directed towards a particular vertex, or all directed away from a particular vertex see arborescence. 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 structure becomes a directed rooted tree.
When a directed rooted tree has an orientation away from the root, it is called an arborescencebranchingor out-tree ; when it has an orientation towards the root, it is called an anti-arborescence or in-tree. A rooted tree which is a subgraph of some graph G is number of edges binary trees with n nodes normal tree if the ends of every edge in G are comparable in this tree-order whenever those ends are vertices of number of edges binary trees with n nodes tree Diestelp. Rooted trees, often with additional structure 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 are supposed to have a number of edges binary trees with n nodes, a tree without any designated root is called a free tree. A labeled tree is a tree in which each vertex is given a unique label.
The vertices of a labeled tree on n vertices are typically given the labels 1, 2, …, n. A recursive tree is a labeled rooted tree where the vertex labels respect the tree order i. In a rooted tree, the parent of a vertex is the vertex connected to it on the path to the root; every vertex except the root has a unique parent. A child of a vertex v is a vertex of which v is the parent. A descendant of any 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 number of edges binary trees with n nodes tree which has the same parent as v. The root is an external vertex if it has precisely one child. A leaf is different from the root. 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 commonly 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. A k-ary tree is a rooted tree in which each vertex has at most k children. 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 number of edges binary trees with n nodes of number of edges binary trees with n nodes, say left to right, then an embedding gives an ordering of the children. Conversely, given an ordered tree, and conventionally drawing the root at the top, then the number of edges binary trees with n nodes vertices in an ordered tree can be drawn left-to-right, yielding an essentially unique planar embedding.
A more general problem is to count spanning trees in an undirected graphwhich is addressed by the matrix tree theorem. Cayley's formula is the special case of spanning trees in a complete graph. The similar problem of counting all the subtrees regardless of size has been shown to be P-complete in the general case Jerrum Counting the number of unlabeled free trees is a harder problem. No closed formula for the number t n of trees with n vertices up to graph isomorphism is known.
The first few values of t n are. This is a consequence of his asymptotic estimate for the number r n of unlabeled rooted trees with n vertices:. Knuthchap. The first few values of r n are . From Wikipedia, the free encyclopedia. Trees A labeled tree with 6 vertices and 5 edges.
Combinatorics for Computer Science. Graph Theoretic Methods in Multiagent Networks. Design and Analysis of Approximation Algorithms. Gross; Jay Yellen; Ping Zhang Handbook of Graph Theory, Second Edition. Theory and Algorithms 5th ed.
Algorithms and Data Structures: Sets, Logic and Maths for Computing. Discrete Mathematics and Its Applications, 7th edition. However it should be mentioned that inK.
Bauer und Raspe,presented a proof of Euler's polyhedron theorem which relies on trees on pages 20— He proved the relation via an argument relying on trees. National Institute of Standards and Technology. Retrieved 8 February Retrieved from " https: Trees graph theory Bipartite graphs. Pages using deprecated image syntax Commons category with local link different than on Wikidata.