[Algorithm] 스택(Stack)

김영광·2023년 6월 20일
0

Algorithm

목록 보기
3/5

스택(Stack)

스택은 한쪽 끝에서만 데이터를 넣고 뺄 수 있는 제한적으로 접근할 수 있는 후입선출(Last-In-First-Out) 형태의 선형 자료구조이다.

기본적으로 Stack 클래스는 내부에서 최상위 타입 배열인 Object[] 배열을 사용하여 데이터를 관리하고 있다.

작동원리

스택은 기본적으로 후입선출(나중에 들어온 데이터가 가장 먼저 나가는) 구조로 이루어져 있다.
식당에 쌓여있는 접시들이 좋은 예입니다. 순서대로 쌓인 접시가 스택 구조와 같다.
접시가 필요하면 제일 위에 있는 접시부터 사용하며 가장 아래 있는 접시는 마지막에 사용된다.

스택은 LIFO (Last In First Out)순서를 따른다.

LIFO : 마지막으로 들어온 값이 처음으로 나가는 것
FILO : 처음 들어온 값이 마지막에 나가는 것

스택은 완전히 꽉 찼을 때 Overflow 상태라고 하며 완전히 비어 있으면 Underflow 상태라고 한다.
삽입(Push)과 제거(Pop)는 모두 Top이라는 스택의 한쪽 끝에서만 일어난다.

연산 메서드

push

스택 맨위에 항목을 삽입

pop

스택 맨위에 항목 삭제

peek

스택의 맨 위(top)를 표시

isEmpty

스택이 비어있는지 확인

profile
힘들더라도 꾸준히!

0개의 댓글