파이썬 heap
-
[프로그래머스/Python] 힙(Heap) level 2. 라면공장Algorithm/Programmers codes 2020. 3. 21. 15:50
힙(Heap) 출체빈도 보통 | 평균 점수 높음 힙은 특정한 규칙을 가지는 트리로, 힙을 이용해서 우선순위 큐를 구현할 수 있습니다. 많은 언어에서 이미 구현된 우선순위 큐 라이브러리를 제공합니다. 이를 활용하면 효율적으로 문제를 풀 수 있습니다. 우선순위 큐를 이용해서 해결하기에 적합한 문제들을 만나보세요. 문제 2. 라면공장 문제 설명 라면 공장에서는 하루에 밀가루를 1톤씩 사용합니다. 원래 밀가루를 공급받던 공장의 고장으로 앞으로 k일 이후에야 밀가루를 공급받을 수 있기 때문에 해외 공장에서 밀가루를 수입해야 합니다. 해외 공장에서는 향후 밀가루를 공급할 수 있는 날짜와 수량을 알려주었고, 라면 공장에서는 운송비를 줄이기 위해 최소한의 횟수로 밀가루를 공급받고 싶습니다. 현재 공장에 남아있는 밀가루..
-
[자료구조/python] 🌲 힙(heap)이란?Algorithm/Data Structure 2020. 3. 14. 18:50
힙(Heap) 이란? : 최댓값과 최솟값을 빠르게 찾기 위해 고안된 자료구조 - 각 노드의 key값이 해당 노드의 자식노드의 key값보다 작지 않거나 크지 않은 완전 이진트리 - 키 값의 대소관계는 부모-자식 노드 사이 간에만 성립하며 형제 노드 사이에는 영향을 미치지 않음 - 자식노드의 최대 개수는 힙의 종류에 따라 다르지만 이진트리에서는 최대 2개 (완전이진트리를 사용한다고 가정하자.) - i번째 노드의 자식노드가 2개인데 왼쪽 자식노드는 2i, 오른쪽 자식노드는 2i+1이고, 부모노드는 i/2가 된다. * 최대 힙 (max heap) : 각 노드의 키 값이 그 자식노드의 키 값보다 작지 않은 힙 key(T.parent(v)) > key(v) * 최소 힙 (min heap) : 각 노드의 키 값이 그..