728x90
heap
완전 이진 트리의 일종으로 우선순위 큐를 위해 만들어진 자료구조!
MAX heap 과 MIN heap이 있다.
MAX heap은 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리이다.
MIN heap은 부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진 트리를 의미한다.
파이썬에서 heap을 구현하려면 ?
heapq 모듈을 import 하면 된다.
heapq 모듈은 리스트를 최소 힙처럼 사용할 수 있게 도와준다.
import heapq
heap = []
heapq.heappush(heap,4)
heqpq.heappop(heap)
heapify를 이용하면 리스트를 힙으로 만들 수 있다.
heapq.heapify(heap)
참고 블로그 :
https://www.daleseo.com/python-heapq/
[파이썬] heapq 모듈 사용법
Engineering Blog by Dale Seo
www.daleseo.com
https://gmlwjd9405.github.io/2018/05/10/data-structure-heap.html
[자료구조] 힙(heap)이란 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
반응형
'알고리즘 > 알고리즘 개념' 카테고리의 다른 글
[python]이차원 배열을 뒤집는 방법_zip(*list) (0) | 2022.08.03 |
---|---|
순열을 구해보자. (중복 순열과 그냥 순열) (0) | 2022.07.19 |
[python 구현]DFS에서 꼭 필요한 개념 - 조합 (combination) (0) | 2022.07.11 |
백트래킹과 DFS가 무슨 관계인가요? (0) | 2022.07.01 |
[파이썬]최소힙과 최대힙 구현하는 법 (0) | 2022.03.01 |