본문 바로가기

프로그래밍/Algorithm & Data Structure10

[STL] map map은 연관 컨테이너의 일종이다. 연관 컨테이너란 키(key)와 값(value)처럼 관련있는 데이터를 하나의 쌍으로 묶어 저장하는 컨테이너를 말한다. 키와 값을 이용한 연관 컨테이너는 요소들에 대한 빠른 접근을 제공해준다. 하지만 삽입되는 요소의 위치를 지정할 수는 없다. 이런 연관 컨테이너는 보통 균형 잡힌 이진 탐색 트리나 해시 테이블을 이용해서 구현한다. 종류로는 set, mulitset, map, multimap이 있으며 오늘 알아볼 것은 map이다. 맵은 키와 값의 쌍(pair)으로 데이터를 관리하는 연관 컨테이너이다. 그리고 요소를 삽입하면서 자동으로 정렬되기 때문에 검색 속도가 매우 빠르다. 맵에서 키는 유일해야 하므로, 키의 중복을 허용하지 않는다. 하나의 키에 하나의 값이 연결되는 구조.. 2023. 1. 17.
[STL] deque deque(double-ended queue)는 기존 STL vector의 단점을 보완하기 위해 만들어진 자료구조이다. vector는 동적 배열이다. 즉 배열이라는 의미다. 그 말인 즉슨, vector는 기존 배열이 가진 장점과 단점을 대부분 가지고 있다. 배열은 데이터가 입력이 되면 기존에 존재하던 데이터의 배열 끝에 새로운 데이터가 입력이 된다. 이는 vector에서 push_back이라는 함수를 보면 알 수 있다. 지울 때도 마찬가지로 뒤에서부터 자료를 삭제한다. pop_back이 그 함수이다. 그렇다면 왜 push_front나 pop_front는 없을까? 이는 간단하다. 배열의 구조는 순차적이기 때문이다. 가령 맨 앞의 데이터를 지우고자 한다면 vector에선 어떻게 작동을 할까? 위 vector.. 2023. 1. 16.