In data structure, a tree is a hierarchical data structure consisting of nodes connected by edges. Each node can have zero or more child nodes, and there is always one node called the root that has no parent. Trees are widely used in various applications, such as file systems, database management systems, and hierarchical representations of data.

## Height of a Tree

The height of a tree is defined as the maximum number of edges between the root and any leaf node in the tree. It represents the length of the longest path from the root to a leaf node. The height of a tree is often used to measure its efficiency and performance.

**Example:**

__Tree 1:__- Root
- Node A
- Node B
__Tree 2:__- Root
- Node A
- Node B
- Node C
- Node D
- Node E (Leaf Node)
__Tree 3:__

In the above example, Tree 1 has a height of 2, Tree 2 has a height of 4, and Tree 3 has a height of 0 (as it only contains the root node).

## Depth of a Tree

The depth of a node in a tree is defined as the number of edges between the root and that particular node. It represents the level or position of the node within the tree hierarchy.

**Example:**

__Tree:__- Root (Depth: 0)
- Node A (Depth: 1)
- Node B (Depth: 2)
- Node C (Depth: 3)
- Node D (Depth: 4)
- Node E (Leaf Node) (Depth: 5)
__Another Example:__