C++ Deque VS Vector

< vector >

1. 요소들이 메모리에 연속적으로 저장된다(cache hit↑) -> 그러므로 중간에 원소를 삽입/삭제하면 메모리가 재할당된다.

2. capacity(할당된 메모리 크기)가 있다.(vector만이 가지고 있음)(reverse()를 통해 capacity를 설정할 수 있다)

-> 주어진 capacity보다 더 많은 요소를 삽입하면 약 1.5배씩 capacity가 커진다.(메모리 재할당 이루어짐)

 

 

< deque >

1. 요소들이 메모리에 연속적이지 않다(연결리스트 느낌인듯) -> 중간에 원소를 삽입하면 메모리 블럭 하나를 할당하는 방식

 

 

< 결론 >

앞에서 삽입/삭제 과정이 많음 -> 덱

나머지 -> 벡터


< 참고자료 >

 

https://novlog.tistory.com/4

 

[C++ STL] Vector Container 사용 방법 & 관련 예제 총 정리

*개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. #1 About Vector Container #2 Vector 사용방법 - 사전 작업 - Vector 선언 및 초기화 - Vector 값 추가 (push

novlog.tistory.com

https://novlog.tistory.com/entry/C-STL-Deque-Container-%EC%82%AC%EC%9A%A9-%EB%B0%A9%EB%B2%95-%EA%B4%80%EB%A0%A8-%EC%98%88%EC%A0%9C-%EC%B4%9D-%EC%A0%95%EB%A6%AC

 

[C++ STL] Deque Container 사용 방법 & 관련 예제 총 정리

#1 About Deque #2 Deque 사용방법 -2.1 deque 선언 & 초기화 -2.2 deque 값 삽입/삭제 - push_back() pop_back() push_front() pop_front() -2.3 deque 값 중간 삽입/삭제 - insert() erase() -2.4 첫 번째 원소 / 마지막 원소 접근 - fron

novlog.tistory.com

https://uncertainty-momo.tistory.com/62

 

[C++/STL] vector와 deque의 차이점

vector와 deque는 거의 동일한 인터페이스를 제공하고 대부분의 경우에 서로 바꾸어도 동작이 가능 할 정도로 유사하다. "그럼 어떤 차이점이 있는 걸까?" 메모리 가장 중요한 차이점은 메모리에서

uncertainty-momo.tistory.com

https://2jinishappy.tistory.com/131

 

Vector Capacity를 1.5배씩 늘려주는 이유

C++의 vector는 다양한 연산들이 존재한다 (아래 포스팅 참조) 2jinishappy.tistory.com/67 [STL] vector 생성자, 함수 및 iterator 사용법 C++에서 사용되는 벡터(vector)는 배열과 유사한 자료구조지만 자동 크기

2jinishappy.tistory.com

 

'CS > C++' 카테고리의 다른 글

C++ 정수, 실수 자료형 범위와 주의할 점  (0) 2023.07.21
[C++] Vector VS List  (0) 2023.07.20
C++로 덱 구현  (0) 2023.07.11
C++로 큐 구현  (0) 2023.07.11
C++로 스택 구현 / STL stack  (0) 2023.07.11