이호진

힙 - 2021/03/22 본문

파이썬 문법

힙 - 2021/03/22

이호진 2021. 3. 22. 21:26

힙은 우선순위 큐를 구현하기 위하여 사용하는 자료구조 중 하나다. 스택은 가장 나중에 삽입된 데이터를 가장 먼저 삭제하고, 큐는 가장 먼저 삽입된 데이터를 가장 먼저 삭제한다. 우선순위 큐는 우선순위가 가장 높은 데이터를 가장 먼저 삭제한다는 점이 특징이다.

 

스택: 가장 나중에 삽입된 데이터가 추출됨

큐: 가장 먼저 삽입된 데이터가 추출됨

우선순위 큐: 가장 우선순위가 높은 데이터가 추출됨

 

import heapq
def heapsort(iterable):
    h=[]
    result=[]
    for value in iterable:
        heapq.heappush(h,value)
    for i in range(len(h)):
        result.append(heapq.heappop(h))
    return result
    
    
result=heapsort([1,3,5,7,9,2,4,6,8,0])


print(result)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]