Red Black Tree는 가장 유명하고 많이 사용되는 균형이진 탐색트리입니다.
Red Black Tree는 Search, Insert, Delete 에 O(log n)의 시간 복잡도가 소요됩니다.
동일한 노드의 개수일 때, depth 를 최소화하여 시간 복잡도를 줄이는 것이 핵심 아이디어입니다.
각 노드는 Red 또는 Black이라는 색깔을 갖습니다.
Root node 의 색깔은 Black입니다.
모든 리프노드들(NIL)은 Black입니다.
어떤 노드의 색깔이 Red라면 두 개의 children 의 색깔은 모두 Black 입니다.
각 노드에 대해서 노드로부터 descendant leaves 까지의 단순 경로는 모두 같은 수의 Black nodes 들을 포함하고 있습니다.
임의의 노드
v의 높이
v -> Leaf node의 경로상에 존재하는 Black색깔을 갖는 노드 수
의 서브트리 내부노드 개수
BaseCase:
Hypothesis: , 의 서브트리 내부노드 개수
Induction
성립함 증명
, 루트 노드
r의 서브트리의 내부노드 개수
, n: 노드의 수