본문 바로가기

programming study/Computer Science

Queues & Stacks

본 내용은 노마드 코더님의 강의를 토대로 작성하였습니다.

 

1. Queues & Stacks

  • 실제로 프로그래밍 언어에서 존재하는 것은 아님
  • 일종의 규칙
  • Abstract Data Type(ADT)
    • 추상적 자료구조
    • 자료구조의 방법이 코드로 정의 된 것이 아니라, 그 구조의 행동 양식만 정의된 것을 뜻함
  • Queues와 Stacks은 Array에 어떠한 규칙을 설정한 것

 

2. Stacks

  • 팬케이크를 차곡 차곡 쌓은 것을 생각하기
  • Array가 수직으로 쌓인 것
  • 요소를 추가, 삭제하는 것이 맨 위에서부터 차례로 할 수 있음
  • LiFo
    • Last In, First Out

 

Stacks의 예시

  • 웹 브라우저의 뒤로가기를 눌렀을 때
    • 이전의 페이지들은 스택처럼 쌓여 있음
  • 문서 입력 중에 되돌리기 기능을 사용할 때

 

3. Queues

  • 줄 서는 것을 생각하기
    • 맨 앞에 있는 사람이 가장 먼저 버스를 탐
    • 가장 뒤에 있는 사람이 가장 마지막에 버스를 탐
  • 새로운 요소는 Queue의 맨 뒤에 추가
  • Queue의 맨 앞에 있는 요소만 읽거나 삭제 가능
  • FiFo
    • First In, First Out

 

Queues의 예시

  • 이메일 전달
  • 푸쉬 알림 기능
  • 쇼핑몰에서 주문을 처리하는 방식
  • 콜센터의 백엔드

 

Reference

[노마드코더] 개발자라면 무조건 알아야하는 자료구조! 5분컷.