namespace pmr {
template<
class Key,
class Compare = std::less<Key>
> using set = std::set<Key, Compare, std::pmr::polymorphic_allocator<Key>>;
}
Time Complexity
Red - Black Tree로 구현되어 search에 O(logn)의 시간이 걸리며, 삽입 및 삭제는 O(logn + a)의 시간이 걸린다.
Red - Black Tree
자가 균형 이진 탐색 트리로, 다음과 같은 조건들을 만족한다.
- 모든 노드는 빨간색 또는 검은색이다.
- 루트 노드는 검은색이다.
- 모든 리프 노드(NIL)들은 검은색이다.
- 빨간색 노드의 자식은 검은색이다. (즉, 빨간색 노드가 연속으로 나올 수 없다.)
- 모든 리프 노드에서 Black Depth는 같다 (즉, 리프 노드에서 루트 노드까지 가는 경로에서 만나는 검은색 노드의 개수가 같다.)
'Old > 복습' 카테고리의 다른 글
STL - next_permutation (1) | 2024.02.01 |
---|---|
STL - sort (0) | 2024.01.18 |
STL - max_element와 min_element (0) | 2024.01.18 |
C++ - 복사 생성자 (1) | 2024.01.03 |
C++ - 범위 기반 for문 (1) | 2024.01.03 |