소주제
자료구조, Stack, Queue
노트
- Stack : 데이터를 순서대로 쌓는 자료구조
- 입출력이 하나의 방향, 즉 스택의 최상단에서만 이뤄지는 제한적 접근이 특징
- LIFO(Last In First Out) 혹은 FILO(First In Last Out) 정책
- 데이터를 넣는 것 ‘PUSH’, 데이터를 꺼내는 것 ‘POP’
- 브라우저의 뒤로 가기 앞으로 가기 기능에 사용
- Queue : 데이터가 줄을 서서 기다리는 모양의 자료구조
- 입출력 방향이 각각 고정, 입력은 큐의 끝(tail), 출력은 큐의 맨 앞(head)
- FIFO(First In First Out) 혹은 LILO(Last In Last Out)
- 데이터 넣는 것 “PUSH”, 데이터를 꺼내는 것 “SHIFT”
- 여러 문서를 순서대로 인쇄할 때 큐의 구조로 출력
- 컴퓨터 장치들 간 데이터를 주고 받을 때, 각 장치 간 존재하는 속도 차이 또는 시간 차이를 극복하기 위해 임시 기억 장치의 자료구조로 큐를 사용 ⇒ 버퍼(buffer)
단문 요약
<aside>
📌 스택은 자료를 쌓는 구조로 되어 있으며, 큐는 줄을 세우는 구조로 되어 있다. 이에 데이터 처리 순서에 있어서도 차이가 난다.
스택은 가장 처음 들어온 데이터가 가장 늦게 처리되는 반면, 큐는 가장 먼저 들어온 데이터가 가장 빨리 처리된다.
스택의 예시로는 브라우저의 뒤로가기, 앞으로 가기 외에도 실행취소(CTRL+Z / CTRL+SHIFT+Z) 기능에서도 사용된다.
큐의 예시는 여러장의 문서를 프린트로 출력할 때, 페이지 순서대로 출력되는데 이때 큐의 구조가 사용되며, 버퍼(buffer : 장치간 속도 또는 시간 차이를 극복하는 임시기억장치)또한 큐의 자료구조를 가지고 있다.
</aside>
Reference
스택
큐 (자료 구조)
유어클래스 | 코드스테이츠 학습 플랫폼 UrClass