Node
package day0118;
public class Node {
public int value;
public Node left;
public Node right;
}
Ex01BinaryTree
package day0118;
public class Ex01BinaryTree {
static int[] array = {3, 7, 1, 2, 4, 0};
static int currentIndex = 0;
public static void main(String[] args) {
Node zero = new Node();
zero.value = array[currentIndex++];
for (int i = 1; i < array.length; i++){
insert(zero, array[i]);
}
System.out.println(zero.value); // 1차
System.out.println(zero.left.value); // 2차
System.out.println(zero.right.value);
System.out.println(zero.left.left.value); // 3차
System.out.println(zero.left.right.value);
System.out.println(zero.right.left.value);
}
public static void insert(Node parent, int value){
if (parent.value < value){
if (parent.right == null){
parent.right = createNode(value); // 오른쪽에 노드 생성
} else {
insert(parent.right, value); // 재귀함수 호출 오른쪽의 노드 값이 부모값으로 변경
}
} else {
if (parent.left == null){
parent.left = createNode(value); // 왼쪽에 노드 생성
} else {
insert(parent.left, value); // 재귀함수 호출 왼쪽의 노드 값이 부모 값으로 변경
}
}
}
public static Node createNode(int value){
Node n = new Node();
n.value = value;
return n;
}
}
'JX405기_비트 > 자료구조(Data Structure)' 카테고리의 다른 글
| Day08-4 Map (HashMap, TreeMap) (0) | 2023.02.02 |
|---|---|
| Day03-3 Set 정렬 관련 Compartor, Comparable (0) | 2023.02.02 |
| Day08-2 자료 구조 Set (0) | 2023.02.02 |