CS 공부 - 자료구조

[Data Structure] Stack and Queue

Nuri-KSLV-II 2023. 1. 24. 16:12

스택(Stack)

특징

  • 입력과 출력이 한 곳(방향)으로 제한적임
  • LIFO(Last In First Out, 후입선출) : 가장 나중에 들어온 것이 가장 먼저 나옴
  • 예시 : 함수의 콜스택, 연산자 후위표기, 문자열 역순, DFS

장점 및 활용

  • 재귀함수를 필요로하는 소스코드에 재귀함수를 사용하지 않고 구현 가능
  • 웹 브라우저의 방문기록에서 스택의 트깅을 활용해 '뒤로가기'를 구현할 수 있음
  • 프로그램의 실행취소(Undo)에 활용됨

큐(Queue)

  • 입력과 출력을 한 쪽 끝(front,rear)로 제한
  • 큐의 가장 첫 원소를 front , 가장 끝 원소를 rear
  • 큐는 들어올 때 rear로 들어오지만 나올때는 front부터 빠지는 특성
  • FIFO(First In First Out, 선입선출) : 가장 먼저 들어온 것이 가장 먼저 나옴
  • 예시 : 버퍼, 막 입력된 것을 처리하지 못하고 있을 때, BFS

장점 및 활용

  • 데이터가 입력된 시간 순서대로 처리해야할 필요가 있는 상황에서 사용
  • 은행 업무
  • 콜센터 고객 대기시간
  • 우선순위가 같은 작업 예약(ex. 프린터의 인쇄 대기열)
  • 콜센터 고객 대기시간
  • 프로세스 관리
  • 캐시 구현

'CS 공부 - 자료구조' 카테고리의 다른 글

[Data Structure] Tree  (0) 2023.01.26