맨위로가기

트리 회전

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 본문

트리 회전(Tree Rotation)은 이진 트리(Binary Tree)의 한 종류인 이진 탐색 트리(Binary Search Tree)의 구조를 변경하는 연산입니다. 이 연산은 트리의 균형을 유지하고, 특정 연산의 효율성을 높이기 위해 사용됩니다.
트리 회전의 핵심:


  • 구조 변경: 트리 회전은 특정 노드를 기준으로, 그 노드의 위치와 부모 또는 자식 노드의 위치를 서로 바꾸는 방식으로 트리의 구조를 변경합니다.
  • 순서 유지: 이진 탐색 트리의 핵심 속성인 "왼쪽 자식 노드는 부모 노드보다 작고, 오른쪽 자식 노드는 부모 노드보다 크다"는 순서는 유지됩니다. 즉, 회전 후에도 이진 탐색 트리의 속성은 그대로 유지됩니다.
  • 균형 유지: 트리 회전의 주된 목적 중 하나는 트리의 균형을 맞추는 것입니다. 불균형한 트리는 탐색, 삽입, 삭제 등의 연산에서 비효율을 초래할 수 있습니다. 회전을 통해 트리의 높이를 줄이고, 더 균형 잡힌 형태로 만들 수 있습니다. (예: AVL 트리)

트리 회전의 종류:트리 회전에는 크게 두 가지 기본 유형이 있습니다.

1. 좌측 회전 (Left Rotation):

  • 특정 노드(X)를 기준으로, 그 노드의 오른쪽 자식(Y)을 새로운 부모 노드로 만들고, X를 Y의 왼쪽 자식으로 만듭니다.
  • Y의 원래 왼쪽 자식은 X의 오른쪽 자식으로 이동합니다.


2. 우측 회전 (Right Rotation):

  • 특정 노드(X)를 기준으로, 그 노드의 왼쪽 자식(Y)을 새로운 부모 노드로 만들고, X를 Y의 오른쪽 자식으로 만듭니다.
  • Y의 원래 오른쪽 자식은 X의 왼쪽 자식으로 이동합니다.

트리 회전이 사용되는 상황:

  • 자가 균형 이진 탐색 트리 (Self-Balancing Binary Search Trees): AVL 트리, 레드-블랙 트리 등과 같은 자가 균형 이진 탐색 트리는 삽입 및 삭제 연산 중에 트리의 균형이 깨질 경우, 트리 회전을 사용하여 균형을 자동으로 복원합니다.
  • 기타 트리 알고리즘: 트리의 균형을 유지하거나 특정 노드의 위치를 조정해야 하는 다양한 알고리즘에서 트리 회전이 활용될 수 있습니다.
  • 불균형이 왼쪽 서브트리에서 나타나는 경우 우측 회전을 합니다.
  • 불균형이 오른쪽 서브트리에서 나타나는 경우 좌측 회전을 합니다.

균형 계수 (Balance Factor):자가 균형 이진 탐색 트리에서 회전 연산을 수행할지 여부를 결정하는 데 사용되는 개념. 각 노드의 왼쪽 서브트리와 오른쪽 서브트리의 높이 차이를 나타냅니다. AVL 트리의 경우, 모든 노드의 균형 계수가 -1, 0, 1 중 하나여야 하며, 이 범위를 벗어나면 회전을 통해 균형을 맞춥니다.



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com