[자료구조] 스택(STACK) 과 큐(QUEUE)

최예닮·2022년 12월 20일
0
post-thumbnail

오늘은 스택 과 큐에 대해 알아봅시다.

사실 스택 같은 경우에는 이벤트루프 에서 Call Stack 으로 한번봐서 조금 익숙하기는 했다 ㅎ.ㅎ

자 스택은 쌓아 올린다 라는 것을 의미 합니다.

  • 책을 쌓는 것처럼 차곡차곡 쌓아 올린 형태의 자료구조

    그림을 통해 봐볼게요 😚

특징을 살펴볼게요 !

  • 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을 수 있다.
  • top 으로 정한 곳을 통해서만 접근 할 수 있다.
  • 삽입되는 새 자료는 top 이 가리키는 자료위에 쌓이게 된다.
  • 스택에서 자료를 삭제할 때도 top 을 통해서만 가능하다.
  • 스택에서 top을 통해 삽입하는 연산push , top을 통한 삭제하는 연산pop 라고 한다.

... pop ..? 나연의 pop???!!!!

(ㅎㅎ ㅈㅅ...좀 쉬어가시라고 ㅎㅎ...) (스택에서 자료를 꺼내는 것을 pop라고 합니당... ㅎㅎ...)

정리를 해보자면

  • 스택은 시간 순서에 따라 자료가 쌓여서 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조이다.
  • 이런 구조를 후입선출 구조 라고 한다

스택을 사용하는 방식을 활용한 예시

  • 인터넷에 뒤로가기 버튼
  • 컨트롤 Z (실행취소)

2. 큐(QUEUE) 란?

  • 줄을 서서 기다리는 것, 그러니까 선입선출 방식이다.

    그림을 통해 살펴보겠다.

특징을 살펴볼게요

  • 한쪽 끝에서는 삽입 작업이 다른 쪽 끝에서는 삭제 작업양쪽으로 이루어 진다.
  • 삭제연산만 수행되는 곳을 프론트(front), 삽입연산만 이루어지는 곳을 리어(rear)로 정하여 각각의 연산작업만 수행된다.
  • 큐의 리어에서 이루어지는 삽입연산을 인큐(enQueue), 프론트에서 이루어지는 삭제연산을 디큐(dnQueue)라고 부른다.

큐를 사용하는 방식을 활용한 예시

  • 프린터 인쇄 대기
  • 콜센터 고객 대기시간

출처: [자료구조] 스택 (STACK), 큐(QUEUE) 개념/비교 /활용 예시

profile
산을 오르려고 하는데 이제 주차장에 막 주차한 초보개발자

0개의 댓글