
[자료구조] 레드 블랙 트리
·
자료구조
레드 블랙 트리는 균형 이진 탐색 트리로 탐색, 삽입, 삭제 모두 시간 복잡도가 O(logn)입니다. C++ STL의 set, multiset, map, multimap이 이 레드 블랙 트리를 이용해 구현되어 있습니다. 레드 블랙 트리가 균형을 유지하는 비결레드 블랙 트리는 아래의 규칙을 지킴으로써 균형을 유지합니다.모든 노드는 빨간색 또는 검은색의 색을 가진다.루트 노드는 검은색이다.잎 노드(NIL)는 검은색이다. (NIL : null leaf, 데이터를 갖지 않고 트리의 끝을 나타내는 더미 노드)빨간 노드의 자식은 모두 검은색이다, 하지만 검은색 노드의 자식이 빨강일 필요는 없다.루트 노드에서 모든 잎 노드 사이에 있는 검은색 노드의 수는 모두 동일하다. 레드 블랙 트리의 기본 연산회전회전은 부모-자..