MyCloud

JAVA의 BinaryTree 본문

Programming/Data Structure

JAVA의 BinaryTree

Swalloow 2016. 3. 13. 15:22



자료구조 - 이진트리


이진트리는 각 노드가 최대 2개의 서브트리를 가지는 트리를 말합니다!
자바로 이진트리를 구현해보겠습니다.








JAVA로 이진트리 구현


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Node {
    private int data;
    private Node left;
    private Node right;
 
    public Node(int data) {
        this.setData(data);
    }
 
    public int getData() {return data;}
    public void setData(int data) {this.data = data;}
    public Node getLeft() {return left;}
    public void setLeft(Node left) {this.left = left;}
    public Node getRight() {return right;}
    public void setRight(Node right) {this.right = right;}
}
cs


먼저 트리의 노드를 정의해줍니다.
값이 들어가는 데이터영역인 data 변수가 있고, 
왼쪽 서브트리를 가리키는 left, 오른쪽 서브트리를 가리키는 right가 있습니다.
생성자를 통해 데이터 값을 넣어줍니다.
그리고 private 변수의 getters 와 setters를 만들어줍니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class BinaryTree{
 
    public static void main(String[] args) {
        // 노드 생성
        Node node1 = new Node(1);
        Node node2 = new Node(2);
        Node node3 = new Node(3);
        Node node4 = new Node(4);
        Node node5 = new Node(5);
        
        // 트리에 노드 추가
        node1.setLeft(node2);
        node1.setRight(node3);
        node2.setLeft(node4);
        node2.setRight(node5);
    }
}
cs


메인 함수를 통해 이진트리를 생성하는 과정입니다.
먼저 노드를 생성하고 트리에 노드를 삽입하는 것입니다.
setLeft를 통해 왼쪽에 노드를 삽입하고 setRight를 통해 오른쪽에 노드를 삽입합니다.




결과는 위의 그림과 같습니다.


'Programming > Data Structure' 카테고리의 다른 글

JAVA의 HashSet, TreeSet  (0) 2016.03.13
JAVA의 BinarySearchTree  (3) 2016.03.13
JAVA의 Tree  (1) 2016.03.13
JAVA의 Queue  (0) 2016.03.11
JAVA의 Stack  (0) 2016.03.11
Comments