도구스개발

AVL 트리 삭제 시뮬레이터

숫자를 넣어 AVL 트리를 만든 뒤 하나씩 지우며, 삭제마다 몇 번의 회전이 뿌리까지 이어지는지 단계별로 보여 줍니다.

공백이나 쉼표로 나눠 넣습니다. 40개까지 다룹니다.

만들어진 트리

50 (BF +1)
├─ 30 (BF 0)
│  ├─ 20 (BF 0)
│  │  ├─ 10 (BF 0)
│  │  └─ 25 (BF 0)
│  └─ 40 (BF 0)
│     ├─ 35 (BF 0)
│     └─ 45 (BF 0)
└─ 70 (BF 0)
   ├─ 60 (BF 0)
   └─ 80 (BF 0)

공백이나 쉼표로 나눠 넣습니다. 트리에 없는 값은 건너뜁니다.

총 회전 횟수

0회

삭제 전부에서 균형이 한 번도 무너지지 않았습니다.

찾지 못한 키0개
삭제 후 트리 높이3
중위 순회 (오름차순이어야 한다)25 35 40 45 50 60 70 80
이 삭제들에서는 회전이 한 번씩만(또는 전혀) 일어났습니다. 「회전이 여러 번 이어지는 예」 버튼을 눌러 연쇄 재균형을 직접 보세요.

삭제 단계

차례지운 값후속자 사용회전높이
1103
2203
330353

삭제 뒤 트리

10 삭제 — 잎이거나 자식이 하나라 바로 지웠습니다.

50 (BF +1)
├─ 30 (BF 0)
│  ├─ 20 (BF -1)
│  │  └─ 25 (BF 0)
│  └─ 40 (BF 0)
│     ├─ 35 (BF 0)
│     └─ 45 (BF 0)
└─ 70 (BF 0)
   ├─ 60 (BF 0)
   └─ 80 (BF 0)

20 삭제 — 잎이거나 자식이 하나라 바로 지웠습니다.

50 (BF +1)
├─ 30 (BF -1)
│  ├─ 25 (BF 0)
│  └─ 40 (BF 0)
│     ├─ 35 (BF 0)
│     └─ 45 (BF 0)
└─ 70 (BF 0)
   ├─ 60 (BF 0)
   └─ 80 (BF 0)

30 삭제 — 자식이 둘이라 후속자 35를 그 자리에 올렸습니다.

50 (BF +1)
├─ 35 (BF -1)
│  ├─ 25 (BF 0)
│  └─ 40 (BF -1)
│     └─ 45 (BF 0)
└─ 70 (BF 0)
   ├─ 60 (BF 0)
   └─ 80 (BF 0)
삭제는 회전이 한 번이 아닐 수 있습니다. 지운 자리의 부분나무 높이가 줄어들면 그 위 조상에서도 균형이 무너질 수 있어, 뿌리에 닿을 때까지 경로 위 모든 조상을 다시 확인합니다. 자식이 둘인 노드는 오른쪽 부분나무의 최솟값(중위 후속자)을 그 자리에 올리고 후속자 자신을 다시 지우는 방식으로 처리합니다.

사용 방법

  1. 1넣을 숫자를 순서대로 적어 AVL 트리를 만듭니다.
  2. 2지울 숫자를 순서대로 적습니다.
  3. 3삭제 단계마다 몇 번의 회전이 일어났는지, 후속자 키를 썼는지 확인합니다.

자주 묻는 질문

삽입은 넣은 자리에서 위로 올라가며 처음 만나는 무너진 조상 한 곳만 고치면 끝나지만, 삭제는 지운 자리의 부분나무 높이가 줄어들 수 있어 그 위 조상 전부를 다시 확인해야 합니다. 그래서 삭제 한 번에 회전이 여러 번(최악의 경우 경로 길이만큼) 일어날 수 있습니다.

그 노드의 오른쪽 부분나무에서 가장 작은 값(중위 후속자)을 찾아 그 값을 지울 자리에 복사하고, 후속자 자신을 오른쪽 부분나무에서 다시 지웁니다. 후속자는 왼쪽으로 끝까지 내려간 자리라 자식이 최대 하나뿐이라 재귀가 거기서 끝납니다.

네. 무너진 노드의 균형인수 부호와 무거운 쪽 자식의 균형인수 부호로 가르는 기준은 똑같습니다(dev/avl-rotation 참고). 다른 것은 이 판정을 경로 위 모든 조상에서 반복해야 한다는 점뿐입니다.

AVL 삭제는 표준 절차라 정답 자체는 모든 교재가 같습니다(외부 정답표가 필요 없는 자료구조 알고리즘). 대신 무작위로 만든 트리에 무작위 순서로 삭제를 반복하며 매 단계 「중위 순회가 오름차순인가」·「모든 노드의 균형인수가 ±1 이내인가」·「남은 키 집합이 정확히 일치하는가」 세 불변식이 항상 성립하는지 대조했습니다.

알아두면 좋은 점

  • 삭제 알고리즘 자체는 CLRS 등 모든 교재가 동일하게 기술하는 표준 절차입니다(정확도 다툼 없음).
  • 이진 탐색 트리 성질(중위 순회 오름차순)·AVL 균형 성질(|균형인수|≤1)·키 집합 일치를 무작위 시나리오 다수로 대조했습니다.
  • 한 번에 40개까지 넣습니다. 과정을 그림과 표로 보이는 것이 목적이라 그보다 많으면 읽히지 않습니다.
  • 입력한 값은 서버로 전송되지 않고 브라우저 안에서만 계산됩니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 5일 · 결과는 참고용 추정치입니다.