[자료구조] 스택이란?

유진·2023년 8월 22일

알고리즘-자료구조

목록 보기
1/15

📝스택의 정의

스택이란 데이터들을 차곡차곡 쌓아 올린 형태의 자료구조


🎯스택의 특징

  • 가장 최근에 들어온 데이터가 가장 먼저나가는 후입선출(LIFO: Last In First Out)이다.
  • 리스트의 Top에서 삽입과 삭제가 가능하다.
  • 웹 브라우저 뒤로가기, 실행 취소, 역순 문자열 만들기, 역폴란드 표기법 등에서 사용된다.

스택의 연산

[출처] programiz

pop() : 스택에서 가장 위에 있는 데이터를 제거
push() : 데이터를 스택의 가장 윗 부분에 추가
top() : 스택의 가장 위에 있는 항목을 반환
isEmpty() : 스택에 원소가 없으면 true, 있으면 false 반환
isFull() : 스택에 원소가 없으면 false, 있으면 true 반환


스택의 구현

1. 정적 구현 - 1차원 배열 사용

  • 장점 : 구현이 간단하고 빠르다.
  • 단점 : 스택에 저장할 수 있는 노드의 개수가 제한되고 스택 생성시 크기를 미리 지정해야 한다. 최대 저장 가능 개수를 늘리지 못하고 메모리 낭비가 심하다

2. 동적 구현 - 연결 리스트 사용

  • 장점 : 크기가 제한되지 않는다.
  • 단점 : 구현이 복잡하고 삽입/삭제하는 시간이 오래 걸린다.


참고자료

profile
도라에몽 암기빵

0개의 댓글