힙(Heap)의 개념 **힙(Heap)**은 각 노드가 하위 노드보다 큰(또는 작은) 값을 가지는 완전 이진 트리 기반의 자료구조입니다. Kotlin에서 힙을 구현하는 것은 데이터 처리 및 정렬에 있어 중요한 자료구조 기술입니다. Kotlin에서의 힙 클래스 구현 힙의 기본적인 동작을 구현하는 Kotlin 클래스를 만듭니다. 여기서는 최소 힙(Min Heap)을 예로 듭니다. class MinHeap { private val heap: MutableList = mutableListOf() fun insert(key: Int) { heap.add(key) var currentIndex = heap.size - 1 while (currentIndex > 0) { val parentIndex = (curren..
Heap
·Java
힙(Heap)이란? 힙은 완전 이진 트리 기반의 자료구조로, 각 노드가 하위 노드보다 큰(또는 작은) 값을 가지는 것이 특징입니다. Java에서는 PriorityQueue 클래스를 통해 힙을 구현할 수 있습니다. Java에서 힙 구현 PriorityQueue는 내부적으로 힙 구조를 사용하여 요소들을 정렬합니다. 힙 선언 및 초기화 import java.util.PriorityQueue; PriorityQueue minHeap = new PriorityQueue(); // 최소 힙 PriorityQueue maxHeap = new PriorityQueue(Collections.reverseOrder()); // 최대 힙 힙에 데이터 추가 minHeap.add(10); minHeap.add(5); minHe..
힙(Heap)이란? 힙은 완전 이진 트리를 기반으로 하는 자료구조로, 각 노드의 키 값이 그 자식 노드의 키 값보다 항상 크거나(최대 힙) 혹은 항상 작은(최소 히프) 특성을 가집니다. 힙은 우선순위 큐, 힙 정렬 등 다양한 알고리즘과 데이터 처리에 사용됩니다. 힙의 특징 완전 이진 트리: 모든 레벨이 완전히 채워져 있으며, 마지막 레벨을 제외하고 왼쪽부터 채워집니다. 힙 속성: 모든 부모 노드는 그 자식 노드보다 큰(또는 작은) 키 값을 가집니다. 힙의 종류 최대 힙(Max Heap): 부모 노드의 키 값이 자식 노드의 키 값보다 항상 큽니다. 최소 힙(Min Heap): 부모 노드의 키 값이 자식 노드의 키 값보다 항상 작습니다. 힙의 주요 연산 삽입(Insertion): 새로운 요소를 추가하며, 힙..