본문 바로가기
자료구조

STL 컨테이너 3 - 맵

by 송파감자 2025. 1. 24.

1. 맵이란?

  • 키와 값을 쌍으로 갖는 컨테이너
  • 이 쌍을 entry 라고 함
  • STL에서 std::pair 타입으로 표현
  • 내부는 균형 이진 탐색 트리로 구성
  • 그래서 키 값 기준으로 자동 정렬함
  • 시간 복잡도 O(logN)
  • 맵의 키값은 중복되지 않음! 유일
  • 맵헤더 추가해서 써야 함

2. 빈 맵 선언하기-----------------------------------------------------------------------------------------------------------------------

  • 이름이 Key, 점수가 Value

 

3. 맵에서 특정 키에 접근하기?!-----------------------------------------------------------------------------

  • [ ]연산자 사용
    • 가독성 좋음
    • 배열과 다르게 키가 맵에 없으면 맵에 새로운 키를 추가함
    • 시간복잡도 O(logN)
  • find() 함수 사용
    • 특정 키 검색 시 맵에 새 키 추가하는 게 아니라 그대로 유지할 거면 find 함수 쓴다
    • 키카 맵에 있으면 해당 키 위치 반환
    • 없으면 end 반복자 반환
    • 시간 복잡도 O(logN) 

 

4. 맵의 값 변경---------------------------------------------------------------------------------------------------------------------------------------------

 

5. 맵의 삽입과 삭제----------------------------------------------

  • 삽입은?
    • insert()함수 
    • [ ] 연산자 쓰기
    • 시간 복잡도 O(logN)
  • 삭제는?
    • erase()
    • 시간 복잡도 O(logN)
  • 삽입 예시

 

  • 삭제 예시

 

'자료구조' 카테고리의 다른 글

SLT-스택  (0) 2025.01.27
STL 컨테이너 4 - 정렬되지 않은 셋 & 맵  (0) 2025.01.24
STL 컨테이너2 - Set  (0) 2025.01.24
STL 컨테이너 1 - 벡터  (0) 2025.01.24
[자료구조] DFS와 BFS  (0) 2024.08.02