자료구조
-
[자료구조] 힙(Heap)자료구조 2022. 10. 20. 15:12
힙(Heap) 기본 지식 반정렬 상태의 Binary Tree 사용 이유 값을 추가/삭제 하면서 정렬 상태를 유지 ( 추가/삭제의 시간 복잡도 O(logN) ) Linked List나 배열은 값을 추가하고 재정렬 시 기본적으로 O(N) 소요 우선순위 큐(Priority Queue) -> 기본적인 Queue 자료구조 + 순위 Max heap ( 부모 노드 >= 자식 노드 ) 최대값 Searching Min heap ( 부모 노드 배열로 구현 가장 상위 부모 노드인 root node 부터 배열에 저장 Tree 구조의 부모,자식 관계 -> Binary Tree 구조(각 Level의 노드 개수 = 2^n개)를 고려해보면 알 수 있음 왼쪽 자식 노드 Index = 부모 Index * 2 오른쪽 자식 노드 Index..