[자료구조] 스택(Stack)

김소은·2024년 5월 27일

Theory_summary

목록 보기
5/6

스택(Stack)

스택이란 데이터 구조 중 하나로 가장 나중에 추가된 요소가 가장 먼저 제거가 되는 구조입니다.


주요 연산

연산설명자바 메서드
Push스택의 맨 위에 데이터를 추가합니다.push(E e)
Pop스택의 맨 위에 있는 데이터를 제거하고 반환합니다.pop()
Peek/Top스택의 맨 위에 있는 데이터를 제거하지 않고 반환합니다.peek()
IsEmpty스택이 비어 있는지 확인합니다.isEmpty()
Size스택에 있는 데이터의 수를 반환합니다.size()

특성

  • LIFO (Last In, First Out): 스택의 가장 큰 특징은 후입선출 방식이라는 점입니다.
  • 제한된 접근: 스택은 맨 위 요소에만 접근할 수 있습니다. 다른 요소에 접근하기 위해서는 맨 위 요소를 제거해야 합니다.

스택 사용 사례

  • 재귀적 함수 호출: 함수 호출을 관리하는 시스템 스택은 함수가 끝날 때까지 호출된 순서대로 스택에 저장합니다.
  • 문자열 역순 변환: 문자열을 거꾸로 출력할 때 스택을 사용하면 유용합니다.
  • 괄호 검사: 코드에서 괄호가 올바르게 열리고 닫히는지 확인할 때 스택을 사용합니다.
  • 탐색 알고리즘: DFS(깊이 우선 탐색) 같은 알고리즘에서 스택을 사용합니다.

괄호 검사

profile
차근차근 잘 해보자!

0개의 댓글