[Java] 특정 ID를 가진 노드의 하위 계층(Leaf)을 찾는 방법
·
개발 (Development)/Java
이 글은 트리 구조 데이터를 다루는 과정에서 특정 ID를 가진 노드를 찾고, 그 노드의 하위 계층 중 leaf 노드를 효율적으로 수집하는 방법에 대해 정리한 내용입니다. 실제 개발 과정에서 이러한 구조를 처리해야 할 필요가 생겼고, 해당 문제를 해결하기 위해 질의 및 코드 실험을 진행한 뒤 그 결과를 정리한 것입니다. 본 글에서는 가능한 한 일반화된 형태의 코드와 함께 그 과정을 설명드리고자 합니다.문제 정의본 글에서 다루는 트리 구조는 다음과 같은 특징을 가지고 있다고 가정합니다.루트 노드가 여러 개 존재할 수 있다: List roots각 노드는 자식 노드를 나타내는 배열을 가진다: Node[] children각 노드는 고유 ID를 가진다: String id해결해야 하는 핵심 문제는 다음과 같다.전체 ..