[Python] heapq 모듈
2021. 12. 2. 02:54
Python
Python heapq 모듈 사용법 heapq 모듈에 대한 내용에 들어가기 앞서.. heap에 대한 내용은 아래 블로그 포스팅을 참고하시면 이해하시는데 도움이 될 것 같습니다. [자료구조] 우선순위 큐와 heap 우선순위 큐와 Heap 우선순위 큐는 일반적인 큐와 다르게 우선순위가 높은 데이터가 먼저 나갈 수 있도록 만들어진 자료구조입니다. 그래서 어떻게 구현하는데? 우선순위 큐는 배열 또는 연결리 kjhoon0330.tistory.com 모듈 임포트 heapq 모듈은 python 내장 모듈이기 때문에 아래와 같이 간단히 불러올 수 있습니다. import heapq 최소 힙 생성 heapq 모듈은 파이썬의 리스트를 마치 최소 힙처럼 다룰 수 있도록 도와줍니다. 따라서 heapq 모듈을 통해서 리스트에 원..
[자료구조] 우선순위 큐와 heap
2021. 12. 2. 02:02
CS/자료구조
우선순위 큐와 Heap 우선순위 큐는 일반적인 큐와 다르게 우선순위가 높은 데이터가 먼저 나갈 수 있도록 만들어진 자료구조입니다. 그래서 어떻게 구현하는데? 우선순위 큐는 배열 또는 연결리스트을 단순하게 사용하여도 구현이 가능합니다. 배열과 연결리스트의 맨 앞 원소부터 차례대로 우선순위가 높은 data를 넣는다면 어렵지않게 우선순위 큐를 구현할 수 있습니다. 이러한 방식으로 우선순위 큐를 구현하게 되면 우선순위에 맞춰 data를 알맞은 자리에 삽입해야 하기 때문에 이 과정이 O(n)의 시간복잡도가 소요됩니다. 하지만 heap 자료구조를 사용한다면 조금 더 효율적인 방식으로 우선순위 큐를 구현할 수 있습니다. heap을 사용한다면? 우선 heap이 무엇인지에 대해 알아보겠습니다. heap 이란? 힙(hea..