이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
이진 트리는 두 개의 노드를 루트에서 가장 왼쪽 자식으로, 가장 왼쪽 자식에서 가장 오른쪽 자식으로 경로로 함께 연결할 수 있는 데이터 구조입니다. 경로는 루트에서 맨 왼쪽 자식까지, 맨 왼쪽 자식에서 맨 오른쪽 자식까지의 경로라고 합니다.
이진 트리는 재귀적 데이터 구조이므로 자체적으로 정의할 수 있습니다. 이진 트리는 각 노드에 두 개의 자식이 있는 트리입니다. 루트 노드는 트리의 최상위 노드입니다. 왼쪽 자식은 루트 노드에서 가장 왼쪽 자식까지의 경로로 루트 노드에 연결된 노드입니다. 오른쪽 자식은 루트 노드에서 가장 오른쪽 자식까지의 경로로 루트 노드에 연결된 노드입니다.
노드의 자식은 때때로 각각 왼쪽 자식 및 오른쪽 자식이라고 합니다. 부모와 자식이라는 용어는 이진 트리에서 노드 간의 관계를 설명하는 데에도 사용됩니다. 첫 번째 노드가 루트 노드에서 첫 번째 노드까지의 경로로 두 번째 노드에 연결된 경우 노드는 다른 노드의 부모입니다. 첫 번째 노드가 첫 번째 노드에서 두 번째 노드로의 경로로 두 번째 노드에 연결된 경우 노드는 다른 노드의 자식입니다.
노드의 높이는 루트 노드에서 노드까지 가장 긴 경로의 길이입니다. 트리의 높이는 루트 노드의 높이입니다.
노드의 깊이는 루트 노드에서 노드까지의 최단 경로의 길이입니다. 트리의 깊이는 루트 노드의 깊이입니다.
모든 노드에 두 개의 자식이 있거나 자식이 없는 경우 이진 트리는 완전하다고 합니다. 모든 노드에 두 개의 자식이 있거나 자식이 없고 모든 잎의 깊이가 같은 경우 이진 트리를 완전하다고 합니다.
왼쪽 하위 트리의 높이와 오른쪽 하위 트리의 높이가 최대 1만큼 차이가 나면 이진 트리가 균형을 이룬다고 합니다.
다음은 이진 트리의 예입니다.
1
/ \
2 3
/ \
4 5
루트 노드는 1입니다. 1의 왼쪽 자식은 2입니다. 1의 오른쪽 자식은 3입니다. 2의 왼쪽 자식은 4입니다. 2의 오른쪽 자식은 5입니다.
루트 노드의 깊이는 0입니다. 노드 2의 깊이는 1입니다. 노드 3의 깊이는 1입니다. 노드 4의 깊이는 2입니다. 노드 5의 깊이는 2입니다.
루트 노드의 높이는 2입니다. 노드 2의 높이는 1입니다. 노드 3의 높이는 1입니다. 노드 4의 높이는 0입니다. 노드 5의 높이는 0입니다.
나무가 꽉 찼습니다. 나무가 완성되었습니다. 나무가 균형을 이루고 있습니다.