1일1공부/비선형자료구조
Red-Black 트리 개념 보기
정진킴
2023. 9. 22. 11:28
1. Red-Black 트리란?
- root 노드와 leaf 노드의 색은 black
- red 색 노드의 자식은 black (double red 불가)
- 모든 leaf 노드에서 root 노드까지 가는 경로의 black 노드 수는 같음
- 조건이 깨지는 상황에서 Rebalancing
- NIL = NULL
2. 삽입
- 노드 삽입 후 double red 발생 case 1
- 부모 노드의 형제 노드가 red 일 때
- Recoloring 진행
- 삽입한 노드의 부모와 부모의 형제 노드를 black으로 변경
- 부모의 보모 노드를 red로 변경
- 부모의 부모 노드가 root인지 double red 인지에 따라 조정 진행
- 노드 삽입 후 double red 발생 case 2
- 부모 노드의 형제 노드가 black 이거나 없을 때
- Restructuring 진행
- 조정 대상 : 삽입한 노드, 부모 노드, 부모의 부모 노드
- 조정 대상 노드들을 오름차순 정렬
- 가운데 노드를 부모 노드로 선정하고 black 으로 변경
- 나머지 두 노드를 자식 노드로 두고 red로 변경
3. 삭제
- 삭제 대상 노드가 black 이고 그 자리에 오는 노드가 red 인 경우
- 해당 자리로 오는 red 노드를 black 으로 변경

에고...... 모르겠다 여긴.... 😞😞😞😞😞