ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [개발지식] 스택(STACK), 큐(QUEUE)
    개발지식 2022. 5. 2. 10:57

    스택(STACK)

    스택이란 쌓아 올린다는 것을 의미한다. 스택 구조라는 것은 책을 쌓는 것처럼 하나하나 쌓아 올린 형태의 자료구조이다.

    출처: https://devuna.tistory.com/22

    스택(STACK) 특징

    스택은 구조와 크기의 자료를 정해진 방향으로만 쌓을 수 있고, Top으로 정한 곳을 통해서만 접근할 수 있다. Top에는 가장 위에 있는 자료는 가장 최근에 들어온 자료를 가르키고, 삽입되는 새 자료는 Top이 가리키는 자료의 위에 쌓이게 된다.

     

    스택에서 자료를 삭제할 때도 Top을 통해서만 가능하다. 스택에서 Top을 통해 삽입하는 연산을 "push", Top을 통한 삭제하는 연산을 "pop"이라고 한다.

     

    따라서 스택은 가장 마지막에 삽입된 자료가 가장 먼저 삭제된다는 구조적 특징을 가지게 된다. 이러한 스택 구조를 후입선출(LIFO, Last-In-First-Out) 구조라고 한다.

     

    큐(QUEUE)

    큐는 줄을 서서 기다리는 것을 의미하며, 일상생활에서의 예시를 들어보면 은행에 먼저 도착한 사람의 업무를 먼저 순서대로 처리하는 것과 같이 선입선출(FIFO, First in First out) 방식의 자료구조를 말한다.

    출처: https://devuna.tistory.com/22

     

    큐(QUEUE) 특징

    정해진 한 곳(Top)을 통해서 삽입, 삭제가 이루어지는 스택과는 달리 큐는 한 쪽 끝에서 삽입 작업이, 다른 쪽 끝에서 삭제 작업이 양쪽으로 이루어진다.

     

    이때 삭제연산만 수핸되는 곳을 front, 삽입연산만 이루어지는 곳을 rear로 정하여 각각의 연산작업만 수행된다. 큐의 rear에서 이루어지는 삽입연사을 enQueue, front에서 이루어지는 삭제연산을 dnQueue라고 부른다.

Designed by Tistory.