- 트리의 각 레벨의 합을 구하기 위해 BFS 알고리즘을 사용할 수 있습니다 🌳
- 레벨 합을 구한 후, K개의 가장 큰 값을 찾기 위해 정렬 과정을 거쳐도 좋지만, 이를 위해서는 O(HlogH)의 시간 복잡도가 발생합니다.
- Max Heap을 이용하면 K개의 가장 큰 값을 빠르게 찾을 수 있습니다. ⛰️
- Min Heap을 사용하도록 하여, 각 레벨에서 해당 Heap의 최솟값을 제거하며 항상 K개의 가장 큰 값을 저장합니다. 🐇
- 이 방법은 트리의 높이와 K의 값에 따라 시간 복잡도가 n + H * logK 으로 달라집니다.
- 트리의 균형 상태에 따라 최적의 해결책 선택이 제시됩니다. ⚖️