Programming/자료 구조

스택(Stack) / 큐(Queue)

시나민 2023. 4. 24. 05:53

스택 (Stack)

 

 

스택(Stack)은 쌓아 올린다는 의미이며,

스택 자료구조란 바닥부터 차곡차곡 쌓아 올린 형태의 자료구조를 말한다.

 

Stack의 특징

  • 같은 구조와 같은 크기의 자료정해진 방향으로 쌓을 수 있음
  • Top으로 정한 곳을 통해선만 접근 가능
  • 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 후입선출(LIFO, Last-In-First-Out) 구조

Stack의 활용 예시

  • 웹 브라우저의 뒤로가기
  • 실행 취소

큐 (Queue)

 

 

큐(Queue)는 줄, 또는 줄을 서서 기다리는 것을 의미하며,

큐 자료구조란 들어온 순서대로 나가는 자료구조를 의미한다.

 

Queue의 특징

  • 삭제 연산만 수행되는 곳을 프론트(Front), 삽입 연산만 수행되는 곳을 리어(Rear)라고 함
  • 삽입 연산은 인큐(enQueue), 삭제 연산은 디큐(deQueue)
  • 가장 먼저 삽입된 자료가 가장 먼저 삭제되는 선입선출(FIFO, First-In-First-Out) 구조

Queue의 활용 예시

  • 우선 순위가 같은 작업 예약 (프린터 인쇄 대기열)
  • 프로세스 관리
  • 캐시(Cache) 구현