LIFO(Last In First Out) 방식
가장 나중에 넣은 데이터를 가장 먼저 빼내는 자료구조
스택은 한 쪽에서만 자료를 넣거나 빼는 구조이다.
push()를 통해 데이터를 스택에 넣고,
pop()으로 스택에서 데이터를 꺼낸다.
# Python 리스트의 메소드로 스택 사용
list_stack = list()
# append로 push
list_stack.append(1)
list_stack.append(2)
list_stack
>> [1, 2]
# 나중에 넣은 데이터 먼저 출력
list_stack.pop()
>> 2
스택은 프로세스 실행 구조의 기본이 된다.
- 장점: 구조가 단순해 구현이 쉽고, 데이터 저장/읽기 속도가 빠르다.
- 단점: 스택 생성 시 데이터 최대 개수를 정해야 한다.
저장 공간이 낭비될 수 있다.(미리 최대 개수만큼 저장 공간을 확보해야 하기 때문)
스택은 단순하고 빠른 성능을 위해 사용하기 때문에 보통 배열 구조를 활용해 구현하는데, 이 경우 위와 같은 단점이 있을 수 있다.
'프로그래밍 > 자료구조와 알고리즘' 카테고리의 다른 글
[자료구조] 트리(Tree) (0) | 2021.03.05 |
---|---|
[자료구조] 해시 테이블(Hash Table) (0) | 2021.03.04 |
[자료구조] 연결 리스트(Linked List) (0) | 2021.03.04 |
[자료구조] 큐(Queue) (0) | 2021.03.04 |
[자료구조] 배열(Array) (0) | 2021.03.03 |
댓글