꿈꿈개
꿈을 좇아 꿈틀꿈틀
꿈꿈개
전체 방문자
오늘
어제
  • 분류 전체보기 (24)
    • 코딩테스트 문제풀이 (16)
    • 일기 (1)
    • AI (0)
      • 논문리뷰 (0)
      • NLP (0)
      • CV (0)
    • 자료구조 (2)
    • 알고리즘 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 개발 #알고리즘 #자료구조
  • 일기 #개발자 #퇴사 #인생 #기록 #블로그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
꿈꿈개

꿈을 좇아 꿈틀꿈틀

자료구조

[자료구조] 힙

2022. 8. 11. 20:06

힙

힙(heap) 자료구조는 우선순위 큐를 구현하기 위해 사용하는 자료구조중 하나다!

우선순위 큐는 우선순위에 따라 처리하고 싶을 때 사용

 

예를들어 여러개의 데이터 중 자료구조에 넣었다가 우선적으로 꺼내고 싶은 데이터부터 꺼내서 체크할 때 우선순위 큐를 사용하면 효과적이다.

  • PriorityQueue
  • heapq

파이썬에서는 위 라이브러리로 구현할 수 있다.

최소힙, 최대힙을 이용하는데 

최소힙을 사용할 경우 가장 낮은 데이터가 우선적으로 삭제되고 최대힙을 사용할 땐 가장 높은 데이터가 우선적으로 삭제됨

다익스트라 최단 경로 알고리즘에서는 비용이 적은 노드를 우선으로 방문하므로 최소힙을 사용하는 것이 적합!

 

우선순위 큐 구현 방식 삽입시간 삭제시간
리스트 O(1) O(N)
힙 O(logN) O(logN)

 

※해당 포스팅은 <이것이 취업을 위한 코딩테스트다 (나동빈 저)>를 참고하여 작성되었습니다.

'자료구조' 카테고리의 다른 글

스택과 큐  (0) 2022.08.09
    '자료구조' 카테고리의 다른 글
    • 스택과 큐
    꿈꿈개
    꿈꿈개
    꿈을 꾸는 개발자의 공부 일지

    티스토리툴바