스택
스택은 선형 자료구조이고, LIFO(Last In First Out)의 후입선출 구조를 가진다.
스택은 완전히 꽉 찼을 때 Overflow 상태라고 하며 완전히 비어 있으면 Underflow 상태이다.
삽입(Push)과 제거(Pop)는 모두 Top이라는 스택의 한쪽 끝에서만 일어난다.
동작
- push() - 스택 맨위에 항목을 삽입
- pop() - 스택 맨위에 항목 삭제
- peek(), top() - 스택의 맨 위(top)를 표시
- isEmpty() - 스택이 비어있는지 확인
- isFull() - 스택이 가득 차 있는지 확인
- getSize() - 스택에 있는 요소 수를 반환
구현
배열로 구현 - 구현하기 쉽지만 정적인 크기를 가짐
연결리스트로 구현 - 동적인 크기를 가짐, 포인터를 위한 추가 메모리 공간 필요
스택의 사용 사례
함수의 콜스택, 문자의 역순 출력, 연산자 후위표기법, 백트래킹
'알고리즘 > 자료구조' 카테고리의 다른 글
[백준] 2504 괄호의 값 (자료구조) - Java (0) | 2023.03.28 |
---|---|
[백준] 1927 최소 힙 - Java (0) | 2023.03.28 |
[백준] 10845 큐 - Java (0) | 2023.03.20 |
[백준] 10828 스택 - Java (0) | 2023.03.20 |
[프로그래머스] 같은 숫자는 싫어 (스택/큐) - Java (0) | 2023.03.19 |