Data-structures

Trees and Graphs

Here are definitions of some of the common terms you would often encounter in the context of trees and graphs.

Trees

Tree: A set of nodes and edges connecting the nodes such that there is exactly one path between any 2 nodes.

Rooted tree: A tree where a distinguished node is identified as a root. The nodes share a parent-child relationship. Every node except the root has exactly one parent. The root node does not have any parent.

Path: Connected sequence of edges.

Leaf: A node with no children.

Siblings: Nodes with the same parent.

Ancestor of a node n: Nodes on the path from n to the root (including n itself and the root).

Length of a path: Number of edges on the path.

Depth of a node: Length of path from the node to the root. Depth of root = 0.

Height of a node: Length of path from the node to its deepest descendent. height of a leaf node = 0. Height of tree = Height of root.

Subtree rooted at a node: Tree formed by the node and its descendents.

Binary tree: A tree with no node having more than 2 children.

Graphs

Graph: A set of nodes (or vertices) and edges connecting the nodes. A tree is a particular kind of graph.

Graph representation: G = (V,E), an ordered pair, where V and E are a set of nodes and edges respectively.

Digraph (Directed Graph): A graph where every edge is directed. An edge, e = (u, v) is an ordered pair of nodes, where u and v are referred to as source/origin and sink/destination respectively.

Undirected graph: A graph where an edge e = (u,v) is an unordered pair, i.e., e = (u, v) = (v, u).

Path: A sequence of nodes with an adjacent pair connected by an edge. In a digraph, the edges on the path must be aligned with the direction of the path.

Length of path: Number of edges on the path.

Strongly connected graph: A graph where there is a path from every node to every other node. For an undirected graph, a strongly connected graph is simply called a connected graph.

Degree of a node: Number of edges incident on the node. For a directed graph, indegree of a node refers to the number of edges directed toward the node, and outdegree of a node refers to the number of edges directed away from the node.