[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
}
}
결론
이제 여러분은 자바를 사용하여 간단한 이진 트리를 구현하고 활용하는 방법에 대해 알게 되었습니다. 이를 응용하여 이진 트리의 다양한 기능을 구현해보세요.
자세한 내용은 출처를 확인해주세요.