[java] 자바로 이진 트리 알고리즘 구현하기

이진 트리는 각 노드가 최대 두 개의 자식 노드를 가지는 트리 구조를 말합니다. 자바로 이진 트리를 구현하는 방법에 대해 알아보겠습니다.

이진 트리 노드 클래스 정의하기

이진 트리의 각 노드를 나타내는 클래스를 정의해야 합니다. 각 노드는 값(value)과 왼쪽(left) 자식 노드, 오른쪽(right) 자식 노드를 가집니다.

class Node {
    int value;
    Node left;
    Node right;

    Node(int value) {
        this.value = value;
        left = null;
        right = null;
    }
}

이진 트리 구현하기

이진 트리는 루트 노드(root node)에서 시작하여 각 노드의 왼쪽과 오른쪽 자식 노드를 재귀적으로 탐색하면서 값을 삽입(insert)하거나 탐색(search)하는 등의 작업을 수행합니다.

class BinaryTree {
    Node root;

    BinaryTree(int value) {
        root = new Node(value);
    }

    // 이진 트리에 새로운 값을 삽입하는 메서드
    void insert(int value) {
        // 구현 내용
    }

    // 이진 트리에서 값을 탐색하는 메서드
    boolean search(int value) {
        // 구현 내용
    }
}

이진 트리 사용하기

이제 위에서 정의한 이진 트리를 사용하여 값을 삽입하고 탐색하는 예제를 살펴보겠습니다.

public class Main {
    public static void main(String[] args) {
        BinaryTree binaryTree = new BinaryTree(10);
        binaryTree.insert(5);
        binaryTree.insert(15);

        System.out.println(binaryTree.search(5)); // true
        System.out.println(binaryTree.search(20)); // false
    }
}

결론

이제 여러분은 자바를 사용하여 간단한 이진 트리를 구현하고 활용하는 방법에 대해 알게 되었습니다. 이를 응용하여 이진 트리의 다양한 기능을 구현해보세요.

자세한 내용은 출처를 확인해주세요.

자바 이진트리 구현 예제