벡터 메모리 heap에 동적 할당되는 자료의 길이를 변경할 수 있는 배열입니다. 쉽게 말해 자동으로 메모리가 할당되는 배열입니다. 일반 배열과 동일하게 연속적인 메모리 공간에 저장합니다. (개별 원소에 대한 접근 속도가 빠름) iterator 뿐 아니라 index 로도 접근이 가능합니다. 컨테이너 끝에서 삽입 / 제거하는 속도가 빠릅니다. 중간의 값을 삽입하거나 삭제할 수도 있지만 배열 기반이므로 빈번하게 일어난다면 비효율적입니다. 동적으로 확장 및 축소가 가능한 Dynamic Array로 구현되어 있습니다. vector 생성자와 연산자 더보기 vector v - 비어있는 vector v 를 생성합니다. vector v(5) - 기본 값(0)으로 초기화 된 5개의 원소를 가지는 vector v를 생성합..
Deque
스택, 큐, 덱은 특정 위치에서만 원소를 넣거나 뺄 수 있는 제한이 걸려 있습니다. 그래서 스택, 큐, 덱을 묶어서 Restricted Structure 라고 부르기도 합니다. Stack 스택은 가장 마지막으로 들어간 데이터가 가장 첫 번째로 나오는 성질(LIFO)을 가진 자료구조 입니다. 스택은 주로 문자열 폭발, 아름다운 괄호 만들기, 짝찾기 키워드 문제에서 주로 쓰입니다. 또한 "교차하지 않고" 라는 문장이 나오면 스택을 사용해야 하는 것 아닌지 염두해야 합니다. 삽입 및 삭제에 O(1), 탐색에 O(n) 이 걸립니다. 탐색에 O(n)이 걸리는 이유는 n번 째 요소를 찾기 위해 앞의 요소를 n번 반복해야 찾을 수 있기 때문입니다. 제일 상단이 아닌 나머지 원소들 확인/변경 기능이 제공되지 않습니다...