질문 (재귀 여야 함) : 이진 트리의 루트와 최소값과 최대 값을 사용하는 함수를 작성하고 트리 사이에있는 모든 노드를 찾습니다. 다른 노드에 대한 가능한 최소한의 방문을 가진 그 값최소 및 최대가 주어진 이진 트리 재귀 탐색
public boolean inRange(Node node, int max, int min)
{
return root.element() < max && root.elemnt() > min;
}
public void inRangeFinder(Node root, int max, int min)
{
if (root == null) return; //break
if(inRange(root, max, min))
visit(root); //mark as found
finder(root.leftChild());
finder(root.rightChild());
}
내 질문은 if 문이 필요합니까? 그리고 그것은 왼쪽과 오른쪽 서브 트리 트래버스에서 문제를 일으킬 것인가? 그리고 가장 중요한 것은 이것이 가능한 최소한의 방문 만있는 방법일까요?
물론 필요합니다. 어떻게 다룰 것인가? 질문하기 전에 몇 가지 테스트 케이스로 코드를 시험해 보지 않으셨습니까? – Noich