stack과 que

김하은·2023년 4월 25일
0

stack => 쌓아올린다.

위쪽으로 차례로 쌓아 올린다는 의미.
따라서 가장 위쪽의 자료가 가장 최근의 자료이다.
먼저 빠져나가는 것도 가장 위쪽부터 이기에 Last In First Out =>LIFO구조 라고 한다.
===> 나중에 들어온것이 먼저 나간다

이러한 후입 선출 방식을 활용한것이 여러가지있다.
대표적으로,

  • 웹 브라우저 뒤로가기
    : 가장 나중에 열린 페이지순으로 볼 수 있다.
  • 역순 문자열 만들기
    : 가장 나중에 입력된 문자부터 출력
  • 실행취소
    : 가장 최근(나중에) 실행된 것 실행 취소.
  • 후위 표기법 계산
  • 수식의 괄호 검사
    : 연산자 우선순위 표현을 위한 괄호를 검사함.

Que

정해진 한 곳을 통해 삽입과 삭제가 이루어지는 stack과는 달리 que는 한쪽끝에서는 삽입이, 다른쪽 끝에서는 삭제가 이루어진다.
삭제만 즉, 빠져나가 수행하는 역할을 하는 부분을 front, 삽입만 되는 부분을 rear라고한다.
이때 리어(rear)에서 일어나는 삽입연산을 인큐 라고하며,
프론트(front)에서 일어나는 삭제연산을 디큐 라고한다.

que는 rear로 들어오지만 나갈때는 front부터나간다.
즉, 먼저 들어온것이 먼저 나가게된다.
이러한 것을 First In First Out => FIFO구조 라고 한다.

그렇다면 que는 어떨때 일어날까?

주로 데이터가 입력된 순서대로 처리해야할 때 사용한다.

  • 은행업무
  • 우선순위가 같은 작업 예약시(프린터 인쇄 대기열 등)
  • 프로세스 관리
  • 캐시구현...

.
.
.

0개의 댓글