알고리즘 스택과 큐

length-1·2023년 12월 13일

CS

목록 보기
1/1

스택(Stack)

개념:

후입선출(Last In, First Out; LIFO) 구조를 가진 자료 구조입니다.
가장 최근에 삽입된 항목이 가장 먼저 제거됩니다.

기본 연산

  • Push: 스택에 항목을 추가합니다.
  • Pop: 스택의 맨 위 항목을 제거합니다.
  • Top (또는 Peek): 스택의 맨 위에 있는 항목을 반환하지만 제거하지 않습니다.
  • IsEmpty: 스택이 비어있는지 확인합니다.

활용 예시

  • 함수 호출을 관리할 때 (호출 스택)
  • 역순 문자열 만들기
  • 웹브라우저 방문기록

큐(Queue)

개념

선입선출(First In, First Out; FIFO) 구조를 가진 자료 구조입니다.
가장 먼저 삽입된 항목이 가장 먼저 제거됩니다.

기본 연산

  • Enqueue (또는 Push): 큐에 항목을 추가합니다.
  • Dequeue (또는 Pop): 큐의 맨 앞 항목을 제거합니다.
  • Front: 큐의 맨 앞에 있는 항목을 반환하지만 제거하지 않습니다.
  • Rear (또는 Back): 큐의 맨 뒤에 있는 항목을 반환하지만 제거하지 않습니다.
  • IsEmpty: 큐가 비어있는지 확인합니다.

활용 예시

  • 서비스 센터의 대기시작
  • BFS (너비 우선 탐색) 알고리즘
  • 특정한 순서로 작업을 처리해야 할 때

참고 사항

스택과 큐는 각각의 장단점이 있으며, 문제에 따라 적절한 자료 구조를 선택하는 것이 중요합니다.
일부 언어에서는 스택과 큐를 구현하는 데 내장된 자료 구조를 제공합니다.

profile
Frontend Study Blog

0개의 댓글