𝘼𝙣𝙖𝙡𝙮𝙨𝙞𝙨/ᴀʟɢᴏʀɪᴛʜᴍ
heapq와 deque의 차이
콜라맛갈비
2023. 10. 10. 20:57
728x90
deque | - 선입선출 - 동적 배열인 리스트는 큐연산에적합하지 않아 데크를 써야 좋은 성능을낼 수있음 - 양쪽 끝을 모두 추출할 수 있음 - BFS from collections import deque q=deque() q.append('l') q.popleft() |
heapq | - 우선순위 큐 - 최소힙, 최대힙 - 최단경로 탐색하는 다익스트라, 최소값이나 최대값을 빨리 찾아야 할 때 - heappop()을 할 경우 가장 작은 원소부터 추출됨 from heapq import heappush, heappop, heapify q=[] heappush(q, 1) heappop(q) heapify(arr) |
Tuple보다는 List가 더 느리기 때문에, 해당 코드의 우선순위 큐에 넣는 원소를 []가 아닌 ()로 감싸주시면 속도 향상
728x90