[Swift] 백준 1927 최소 힙
·
📝 코테/BOJ
import Foundation struct Heap { private var elements = [T]() private let comparer: (T, T) -> Bool init(comparer: @escaping (T, T) -> Bool) { self.comparer = comparer } mutating func insert(element: T) { if elements.isEmpty { elements.append(element) elements.append(element) return } elements.append(element) // swim up swimUp(index: elements.count - 1) } mutating private func swimUp(index: Int) {..
[Swift] 힙(Heap) 구현해보기
·
💻 CS/자료구조
이글은 개인적인 공부를 위해 작성된 글임을 밝힙니다. 이글의 모든 내용에 대한 출처는 https://jeonyeohun.tistory.com/325 이곳입니다. 힙 이진트리를 사용해서 반정렬 상태로 유지하는 자료구조 힙은 트리의 루트 노드에 데이터들의 최솟값 혹은 최대값을 저장합니다. 최솟값을 루트에 둘 때는 최소힙, 최대값을 루트에 두면 최대힙이라고 합니다. 완전 이진트리 트리를 구성하는 모든 노드가 최대 2개의 자식노드를 가지는 자료구조 완전 이진트리는 아래와 같은 특징을 가집니다. 1. 각 높이에 있는 모든 노드가 자식노드를 가져야 다음 높이에 새 노드를 추가할 수 있습니다. 2. 가장 왼쪽부터 차례대로 노드를 채워야 합니다. 이 배열 기반의 이진트리를 이용해서 힙을 구현하겠습니다. 힙의 이진트리는..
JerryiOS
'힙' 태그의 글 목록