트리의 구조를 일정하게 제한하여 정의하면 트리의 연산이 단순하고 명확해진다. 트리의 모든 노드의 차수를 2 이하로 제한하여 전체 트리의 차수가 2 이하가 되도록 정의한 것이 이진 트리(Binary Tree)이다.
이진 트리는 [ 그림 7-4 ]와 같이 좌우가 구분된 왼쪽과 오른쪽 자식 노드 두 개만 가질 수 있으며, (b)나 (c)와 같이 공백 노드도 이진 트리의 노드로 취급한다. (a)는 왼쪽 자식 노드와 오른쪽 자식 노드를 모두 가진 차수가 2인 이진 트리이다. (b)는 왼 쪽 자식 노드와 공백 노드인 오른쪽 자식 노드를 가진 차수가 1인 이진 트리이며, (c)는 공백 노드를 왼쪽 자식 노드로 가지고 있는 차수가 1인 이진 트리이다. 자식 노드가 없는 단말 노드는 왼쪽 자식 노드와 오른쪽 자식 노드가 모두 공백 노드, 즉 차수가 0인 노드가 된다. 이진 트리는 왼쪽 노드와 오른쪽 노드를 구별하기 떄문에 (b)와 (c)는 차수가 1로 같지만 서로 다른 이진 트리가 된다.
이진 트리에 있는 모든 노드는 왼쪽 자식 노드를 루트로 하는 왼쪽 서브 트리와 오른쪽 자식 노드를 루트로 하는 오른쪽 서브 트리를 갖는다. 이진 트리는 부모 노드-자식 노드의 관계가 하위 레벨에서도 순환적으로 반복되는 계층 구조이므로 이진 트리의 각 서브 트리 역시 모두 이진 트리여야 한다.
[ 그림 7-5 ]의 이진 트리는 루트 A의 왼쪽 자식 노드 B를 루트로 하는 왼쪽 서브 트리와 오른쪽 자식 노드 C를 루트로 하는 오른쪽 서브 트리로 만들어져 있다. 루트 A의 왼쪽 서브 트리인 루트 B는 왼쪽 자식 노드 D를 루트로 하는 왼쪽 서브 트리와 오른쪽 자식 노드 E를 루트로 하는 오른쪽 서브 트리를 가지고 있다. 마찬가지로 루트 A의 오른쪽 서브 트리인 루트 C는 왼쪽 자식 노드 F를 루트로 하는 왼쪽 서브 트리와 오른쪽 자식 노드 G를 루트로 하는 오른쪽 서브 트리를 가진다.
일반 트리를 [ 그림 7-6 ] 과 같은 방법으로 이진 트리로 변환할 수 있다. 0️⃣ 일반 트리 A가 있다면 루트부터 하위 레벨로 내려가면서 각 노드의 1️⃣ 첫 번째 자식 노드로의 간선만 남겨두고 나머지 자식 노드의 간선은 제거하고, 2️⃣ 형제 노드끼리 간선을 연결한다. 간선 정리 작업이 다 끝난 트리를 3️⃣ 시계 방향으로 45도 회전시키면 이진 트리가 된다.