Algorithm

[algorithm][python] stack, queue

Jaaaay 2022. 6. 6. 16:16

스택

선입후출(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