상세 컨텐츠

본문 제목

[Python] 그래프 탐색 알고리즘: DFS/BFS_큐 자료구조

Python/이코테

by Gopythor 2022. 6. 11. 17:44

본문

728x90
반응형
  • 먼저 들어 온 데이터가 먼저 나가는 형식(선입선출)의 자료구조입니다.
  • 큐는 입구와 출구가 모두 뚫려 있는 터널과 같은 형태로 시각화 할 수 있습니다.

큐 동작 예시

from collections import deque

#큐(Queue) 구현을 위해 덱(deque) 라이브러리 사용
queue = deque( )

#삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제( ) - 삽입(1) - 삽입(4) - 삭제( )
queue.append(5)    #가장 오른쪽에 원소추가 : 리스트의 append와 동일하다
queue.append(2)
queue.append(3)
queue.append(7)
queue.popleft( )    #가장 왼쪽에 원소 꺼낸다
queue.append(1)
queue.append(4)
queue.popleft( )
 
print(queue)         #먼저 들어온 순서대로 출력
queue.reverse( )    #역순으로 바꾸기
print(queue)         #나중에 들어온 원소부터 출력

(실행 결과)
deque( [3, 7, 1, 4] )
deque( [4, 1, 7, 3] )
  • 리스트로 큐를 구현할 수 있지만, 시간 복잡도가 더 높아 비효율적으로 동작할 수 있음.
  • 삽입 append
  • 삭제 popleft
  • append 와 popleft 사용 하는 것이 관행
  • deque 라이브러리는 stack 과 que 자료구조의 장점을 모두 합친 형태
  • 그림과 반대 방향으로 이해
728x90
반응형

관련글 더보기

댓글 영역