In computer science, a tree is a widely used abstract data type (ADT) or data structure implementing this ADT that simulates a hierarchical tree structure, with a root value and subtrees of children, represented as a set of linked nodes and has following properties -

* T is connected and has no cycles.

* T has no cycles, and a simple cycle is formed if any two nodes non-connected nodes are connected.

* T is connected, but is not connected if any connectivity is removed from T.

* Any two nodes in T can be connected by a unique simple path.

* If T has n nodes then it has exactly n-1 connections (edges).