[TIL-Structure] Stack과 Queue

이용준·2022년 11월 21일
0

TIL

목록 보기
11/21

1. Stack

데이터를 순서대로 쌓는 자료구조를 의미한다. 단 방향으로만 자료 입력과 제거가 가능해 LIFO(Last In Frist Out,후입선출) or FILO(First In Last Out) 라 부르기도 한다.
(이는 먼저 들어온 데이터가 나가는 Queue와 차이점이다.)

1-1. 스택의 연산

  • pop() : 스택에서 가장 위에 있는 항목 제거
  • push() : 스택의 가장 위에 항목 추가
  • peek() : 스택의 가장 위에 있는 항목 반환
  • isEmpty() : 스택이 빈 경우 true 반환

1-2. Stack의 특징

  1. 먼저 들어간 데이터는 마지막에 나오는 LIFO(후입선출) 구조이다.
  2. 데이터는 하나씩 삽입/삭제 가능하다.
    • 데이터가 많아도 삽입 / 삭제는 하나씩만 가능하다.
  3. 하나의 입출력 방향을 가지고 있다.
    • 데이터의 입/출력 방향이 갖다는 특징이 있다.

Stack 구현해보기

2. Queue

대기 행렬이라는 뜻을 가진 자료 구조로 양방향 입출력 특징을 갖으며, 이를 FIFO(First In First Out, 선입선출)라 한다.

2-1. Queue 연산

  • add(element) : element를 요소 마지막에 추가
  • remove() : 리스트의 첫 항목 제거
  • peek() : 큐의 가장 위 항목 반환
  • isEmpty() : 큐가 비어있을때 ture 반환한다.
  • poll() : 큐 맨 앞에 있는 값 반환 후 삭제(빈 경우 null 반환)
  • clear() : 큐 비우기
    (데이터 추가/삭제/검색에 제공되는 메서드는 문제상황에서 에러를 발생하느냐, null/boolean value를 반환하는지 구분된다.)

참고
https://gmlwjd9405.github.io/2018/08/02/data-structure-queue.html
https://roi-data.com/entry/자료구조-4-스택Stack이란-연산-구현방법
https://cocoon1787.tistory.com/774

profile
뚝딱뚝딱

0개의 댓글