스택, 큐

HKTUOHA·2022년 12월 15일
0

IT 5분 잡학 사전

목록 보기
5/12
post-thumbnail

📌큐(queue)와 스택(stack)

  • 규칙 개념의 자료구조
  • 배열처럼 실제로 존재하는 개념이 아니다!
    - 문법으로 구현된 것이 아니라는 의미
  • 예) 배열 : 자료구조이지만 문법으로도 사용할 수 있다.

    arr = ["사과", "복숭아", "청포도"]

  • BUT! 큐나 스택은 문법이 따로 없다!
    - WHY? 큐나 스택은 기존 프로그래밍 언어의 문법으로 데이터를 저장할 때 어떤 규칙만 부여하기만 하면 되기 때문이다.
    예) 배열 + 큐의 규칙 = 큐

    이러한 개념을 "추상 자료구조(abstract data type, ADT)"



📌스택(stack)

☑️스택이 따라야 하는 규칙

팬케이크 쌓기 규칙!

  • 팬케이크를 맨 위에 있는 것부터 먹는 것처럼
  • 배열이 수직으로 쌓여 있다고 생각하고 맨 위를 정한다.
  • 맨 위라고 정해 놓은 부분에서만 값을 추가하거나 삭제한다.
  • 데이터를 중간에서 빼거나 할 수 없다.

규칙 1 : 위에서 데이터를 쌓는다.
규칙 2 : 위에서부터 데이터를 뺀다.

❗LIFO (Last In, First Out)



📌큐(queue)

☑️큐가 따라야 하는 규칙

버스 정류장 줄 서기 규칙!

  • 버스 정류장에서 가장 먼저 줄을 선 사람이 먼저 타는 것처럼
  • 먼저 들어온 데이터가 먼저 빠져나간다.

규칙 1 : 위로 데이터를 쌓는다.
규칙 2 : 아래에서부터 데이터를 뺀다.

  • Queue up = 줄을 서다

❗FIFO (First In, First Out)



큐와 스택은 뭘로 구현해도 상관 없이 규칙만 지키면 된다.

(여기서는 배열을 예로 들었을 뿐)


📌스택, 큐 사용 예시

1. 웹 브라우저의 뒤로 가기 버튼

  • 웹 브라우저의 뒤로 가기 버튼은 스택이다.
  • 페이지를 A, B, C 순서로 방문했을 때 뒤로 가기 버튼을 누른다.
    = C를 빼고 B로 간다.
    = 맨 마지막에 방문한 것을 빼는 규칙이 있는 스택으로 구현한다.

2. 되돌리기 단축키도 스택

  • 마지막 실행 기록을 빼서 없앤다.

3. 쇼핑몰 주문 처리 시스탬

  • 쇼핑몰 주문 처리 시스템은 !
  • 주문이 들어온 순서대로 데이터를 쌓고, 가장 먼저 온 주문부터 처리한다.
profile
공부 기록

0개의 댓글