카테고리 없음

스택(stack) & 큐(queue)

lap_mu 2023. 4. 26. 22:11

스택(stack)

 

 

  • 데이터를 쌓아올린 형태의 자료구조
  • 데이터가 아래부터 순서대로 쌓이며 가장 마지막에 push된 데이터가 가장 먼저 pop되는 구조를 가지고 있다.
  • 스택은 정해진 방향으로만 쌓을 수 있으며 top으로 지정된 곳으로만 접근이 가능하다.
  • top이 가리키는 방향으로 push할 수 있고 pop할 수 있다.
  • 이런 스택 구조를 후입 선출 구조라 하며 LIFO(Last In First Out)라고 부른다.

 

활용처

  • 브라우저 앞, 뒤로 가기
  • 텍스트 편집기 실행 취소, 다시 실행
  • JS에서 함수 호출 스택
  • 그래프 순회에서  DFS(깊이 우선 탐색)

 

 

큐(queue)

 

  • 데이터를 밀어내는 형태의 자료구조
  • 한쪽에서는 데이터를 넣고 다른 한쪽에서는 데이터를 삭제하는 작업을 한다.
  • 데이터를 넣는 곳을 rear라고 하며 데이터 넣는 것을 enqueue라고 한다.
  • 데이터를 삭제하는 곳을 front라고 하며 데이터를 삭제하는 것을 dequeue라고 한다.
  • 먼저 들어온 데이터가 먼저 나가는 선입 선출 구조, FIFO(First In First Out)이라고 한다.

 

활용처

  • 인쇄하는 과정
  • 고객 서비스
  • 그래프 순회 BFS(너비 우선 탐색)