Stack과 Queue

조규성·2022년 11월 17일
0

섹션4

목록 보기
1/8

오늘은 Stack과 Queue에 대해서 배웠다.

Stack

Stack은 쌓다, 쌓이다, 포개지다 와 같은 뜻을 가지고 있고, 마치 접시를 쌓아 놓은 형태와 비슷한 이 자료구조는 직역 그대로, 데이터(data)를 순서대로 쌓는 자료구조이다.

예를 들어 , 막다른 골목에 차가 들어간 후 차를 다시 나오게 하려면 첫 번째 들어간 차부터 나오는 것이 아니라 나중에 들어간 차부터 나와야 한다.
이렇게 선입후출 ,LIFO(Last In First Out) 혹은 FILO(First In Last Out)의 구조로 되어 있는 것이 Stack 자료 구조 이다.

Stack의 특징

  1. LIFO(Last In First Out)
  2. 데이터는 하나씩 넣고 뺄 수 있습니다.
  3. 하나의 입출력 방향을 가지고 있습니다.
  4. 저장되는 데이터는 유한하고 정적이어야 합니다.
  5. 스택의 크기는 제한되어 있습니다.

Stack을 이용하여 만든 예로는 웹 브라우저에서 앞으로,뒤로 가는 기능이 있다.

Queue

큐(Queue)는 줄을 서서 기다리다, 대기행렬 이라는 뜻을 가지고 있다.
이름과 비슷하게 줄을 서서 데이터가 빠져나가는 형식을 가지고 있는 자료 구조이다.

예를 들면 , 마트에서 줄을 서서 계산을 해야되는데 가장 먼저 온 손님이 계산을 다하기 전까지는 뒤에 있는 손님들은 빠져나가지 못합니다.
이렇듯 가장 먼저 들어온 데이터부터 차례대로 처리가 되는 자료 구조이다.
Queue는 Stack과 반대로 먼저 들어온 데이터가 먼저 빠져 나가는 FIFO(First In First Out) 혹은 LILO(Last In Last Out) 을 특징으로 가지고 있다.

Queue의 특징

  1. FIFO (First In First Out)
  2. 데이터는 하나씩 넣고 뺄 수 있습니다.
  3. 두 개의 입출력 방향을 가지고 있습니다.
    Queue 자료구조는 데이터의 입력, 출력 방향이 다릅니다. 만약 입출력 방향이 같다면 Queue 자료구조라고 볼 수 없습니다.

Queue를 이용하여 만든 예로는 프린터를 인쇄하는 작업이 있다.

profile
이제 겨우 시작인 코린이

0개의 댓글