선생님 queue 할당 정책에 관한 질문이 있습니다
379
작성한 질문수 12
stl에 구현되어 있는 deque의 할당 정책은 원소 추가 시 메모리가 부족할때마다 일정한 크기의 새로운 메모리 블록을 할당하여 이전 메모리를 제거하거나 이전 원소를 복사하는 등의 연산을 수행하지 않는다 라고 알고있는데요 20:26초 영상에는 데이터 복사를 수행 하내요? 저희가 구현하고 있는 queue는 stl에 구현되어 있는 deque와는 다른 개념 인가요??
답변 1
1
deqeue는 Double Ended Queue라서 queue와는 다른 개념입니다.
dequeue는 stack/queue의 기능을 모두 갖고 있습니다.
STL 구현에서 dequeue는 복사를 하지 않도록 블록 단위로 띄엄 띄엄 메모리를 할당하는 대신,
접근할 때 위치를 찾기 위해 아주 약간의 연산 비용이 추가됩니다.
현재 연습용으로 구현한 queue는 vector 와 비슷한 방식의 동적 배열을 이용한 것입니다.
FIFO의 특징만 유지하면 queue라고 볼 수 있고
이것을 연결 리스트 방식으로 할지, 동적 배열 방식으로 할지 기타 방식으로 할지는
사실 꼭 정해진 바 없습니다.
헤더파일에 관한 질문
0
449
1
이진 탐색 트리 삭제 질문
0
719
1
해당 문제 유형을 수학적으로 표현 가능할까요?
0
522
1
vs2022 미로 줄간격
0
1603
2
pos 구조체 초기화 문제
0
507
0
맵이 이상하게 나오는데 무슨 문제인가요?
0
523
1
자동완성 기능 질문
1
533
2
push_back emplace_back 질문있습니다.
0
407
1
Container, Predicate 질문입니다.
0
408
1
_size - 2 질문
0
428
1
Disjoint Set 질문있습니다
0
443
1
우선순위 큐 구현 연습 intellisense 질문
0
408
1
int32 관련 질문
0
282
1
c++에서 처음 보는 문법
0
396
1
학습에 크게 지장이 있는건 아니지만 단순 궁금해서 질문드립니다
0
333
1
힙 정렬과 병합 정렬
0
435
1
resize 질문
0
269
1
처음 보는 for문 문법
0
399
1
환경 설정.. 궁금점
0
396
1
이 비교 연산자를 넣어주는 이유가 있나요?
0
294
1
소멸자 관련 질문
0
257
1
&의 차이
0
295
1
프레임 관리 질문입니다.
0
342
1
연산자 오버로딩 관련 질문입니다.
1
213
1





