Recent Posts
Recent Comments
MyCloud
JAVA의 BinaryTree 본문
자료구조 - 이진트리
이진트리는 각 노드가 최대 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