스택
선입후출(FILO), 후입선출(LIFO)
파이썬에서는 스택을 이용할 때 별도의 라이브러리를 사용할 필요가 없다.
기본 리스트에서 append()와 pop() 메서드를 이용하면 스택 자료구조와 동일하게 작동한다.
큐
선입선출(FIFO)
파이썬으로 큐를 구현할 때는 collections 모듈에서 제공하는 deque 자료구조를 활용한다.
deque는 스택과 큐의 장점을 모두 채택해 데이터를 넣고 빼는 속도가 리스트 자료형에 비해 효율적이며 queue 라이브러리를 이용하는 것보다 더 간단하다.
from collections import deque
queue = deque()
queue.append(5)
queue.append(2)
queue.append(3)
queue.popleft()
print(queue) # 먼저 들어온 순서대로 출력
queue.reverse() # 다음 출력을 위해 역순으로 바꾸기
print(queue) # 나중에 들어온 원소부터 출력
- deque 객체를 리스트 자료형으로 변경하고자 한다면 list() 메서드를 이용한다.
'Algorithm' 카테고리의 다른 글
[algorithm][python] 정렬 (0) | 2022.06.06 |
---|---|
[algorithm][python] DFS, BFS (0) | 2022.06.06 |
[python] isalpha, isalnum/ isnumeric, isdigit, isdecimal 함수 (0) | 2022.06.06 |
[python] lambda 표현식 (0) | 2022.06.06 |
[python] collections 모듈 연습 (0) | 2022.06.06 |