Stack
stack은 LIFO(Last In, First Out) 또는 FILO(First In, Last Out) 데이터 관리 방식
컴퓨터 내부의 프로세스 구조의 함수 동작 방식이다.
push() : 데이터를 스택에 넣기
pop() : 데이터를 스택에서 꺼내기
장점
- 구조가 단순하고 구현이 쉽다.
- 데이터 저장/읽기 속도가 빠르다.
단점
- 데이터 최대 개수를 미리 정해야한다. (파이썬의 경우 최대 1000번까지만 호출 가능)
- 저장 공간의 낭비 발생
- 미리 최대 개수만큼 저장 공간을 확보해야되기 때문
파이썬에서는 리스트로 스택을 구현함.
data_stack = list()
# append 메소드 사용
data_stack.append(1)
data_stack.append(2)
data_stack.append(3)
print(data_stack) # 1 2 3
# pop 메소드 사용
data_stack.pop() # 3
print(data_stack) # 1 2
함수로 push, pop 구현하기
stack = list()
# stack push 구현하기
def push(data):
stack.append(data)
# stack pop 구현하기
def pop():
data = stack[-1]
del stack[-1]
return data
for index in range(10):
push(index)
pop() # 9
'Developer > Python' 카테고리의 다른 글
[Python] 알고리즘 복잡도 : 시간 복잡도 (0) | 2021.04.21 |
---|---|
[Python] LinkedList 구현하기 (0) | 2021.04.20 |
[python] 큐(Queue) 라이브러리 사용하기 - Queue, LifoQueue, PriorityQueue (0) | 2021.04.10 |
Python 문자열 활용 : isdigit isalpha isalnum (0) | 2021.02.15 |
[Python] collections 모듈 Counter 클래스 사용하기 (0) | 2021.01.31 |