[S4U1] 스택(Stack)과 큐(Queue)
자료구조
- 선형구조: 선의 형태로 자료를 나열 (스택, 큐)
- 비선형구조: 선형구조가 아닌 자료 (트리, 그래프)
Stack(스택)
- Stack은 데이터를 순서대로 쌓는 자료구조이다.
- 마치 프링글스 통이 입구를 통해서만 감자칩을 빼고 넣듯이 스택은 데이터를 하나의 방향으로 넣고 뺀다.
- 자료구조 Stack의 특징은 입력과 출력이 하나의 방향, 즉 스택의 최상단에서만 이루어지는 제한적 접근이다.
- Stack 자료구조의 정책을 LIFO(Last In First Out) 혹은 FILO(First In Last Out)라고 부르기도 한다.
- Stack에 데이터를 넣는 것을 'PUSH', 데이터를 꺼내는 것을 'POP'이라고 한다.
- 데이터는 하나씩 넣고 뺄 수 있다.
Queue(큐)
- 큐는 먼저 들어간 데이터가 먼저 나오는 FIFO(First In First Out) 혹은 LILO(Last In Last Out) 을 특징으로 가지고 있다.
- 입력의 방향과 출력의 방향이 각각 고정되어 있으며, 데이터를 입력할 시에는 큐의 끝에서(tail), 데이터를 출력할 때는 큐의 맨 앞에서(head) 진행된다.
- Queue에 데이터를 넣는 것을 'enqueue', 데이터를 꺼내는 것을 'dequeue'라고 한다.
- Queue는 데이터(data)가 입력된 순서대로 처리할 때 주로 사용한다.
-데이터는 하나씩 넣고 뺄 수 있습니다.