본문 바로가기
Old/복습

STL - set

by onenewkong 2024. 1. 30.
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