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 |