Stack이란?
- LIFO 구조의 자료구조
- 가장 최근에 들어온 데이터가 가장 나중에 나가는 자료구조이다.
- 아래 사진과 같은 구조를 가짐
더보기
Stack은 Last In First Out 구조를 가지는 자료구조이다.
Stack에 데이터를 Push하면 데이터는 스택 상단에 쌓인다.
데이터를 Pop하면 스택 상단에 있는 데이터가 삭제된다.
즉 가장 최근에 들어온 데이터가 가장 나중에 나가는 자료구조이다.
Stack은 언제 사용하면 좋을까?
- 문서 편집기의 Undo 기능과 같이 바로 직전에 실행했던 작업을 취소시킬 때 사용된다.
- 데이터를 추가할 때 배열처럼 원소를 하나씩 옆으로 밀어줄 필요가 없다.
- 재귀 알고리즘을 사용하는 경우 유용하다.
- C/C++의 main() 함수안에서 사용되는 지역변수와 함수들은 모두 스택의 자료구조에 의하여 관리된다.
- 후위표기 계산식에서도 활용된다.
반대로 언제 사용하기 불리할까?
- 스택은 i번째 항목에 접근할 수 없다.
- 배열 기반이라 데이터 최대 개수를 미리 정해야 한다. 이때 메모리 낭비가 발생할 수 있다.
'Study > 개념 정리' 카테고리의 다른 글
[Study] MonoBehaviour와 Unity 생명주기 (0) | 2024.07.15 |
---|---|
[Study] Queue (0) | 2024.07.12 |
[Study] LinkedList (0) | 2024.07.10 |
[Study] 제네릭 & 람다 & LINQ & Reflection (0) | 2024.07.09 |
[Study] GC (0) | 2024.07.08 |