[Python] deque

collection 모듈의 - deque

deque는 double-ended queue라는 뜻이다. 양방향에서 데이터를 처리할 수 있는 queue형 자료구조를 의미한다.

class collections.deque([iterable[, maxlen]])

iterable 자료구조를 파라미터로 가진다 (배열과 같이)

deque는 언제 쓸까?

1. BFS, DFS 를 구현할때 주요 자료구조로 쓰인다. 물론 list로도 구현 가능하다.
2. 양방향 큐이기 때문에, 스택 or 큐 모두 구현 가능하다.

  1. append(x)

    Add x to the right side of the deque (스택과 같은 구조)

     # collections.deque
     deq = collections.deque(['a', 'b', 'c'])
     deq.append('d')
     print(deq)
     '''
     결과
     deque(['a', 'b', 'c', 'd'])
     '''
    
  2. appendleft(x)

    Add x to the left side of the deque. (큐와 같은 구조)

  3. pop()

    Remove and return an element from the right side of the deque. If no elements are present, raises an IndexError.

  4. popleft()

    Remove and return an element from the left side of the deque. If no elements are present, raises an IndexError.


참고 사이트
https://docs.python.org/3/library/collections.html#collections.deque

https://excelsior-cjh.tistory.com/96

댓글남기기