A

**binary tree**is a

**rooted**tree in which every node has at most two children.

A **full binary tree** is a tree which every node has zero or two children.

A **perfect binary tree** is a complete binary tree in which **leaves** (vertices with zero children) are at the same **depth** (distance from the **root**, also called **height**). It has

Sometimes the **perfect binary tree** is called the **complete binary tree**. Some others define a **complete binary tree** to be a full binary tree in which all leaves are at depth *n* or *n-1* for some *n*.