자료구조&알고리즘/트리3 트리 (소스코드) 기본 틀 public class NodeMgmt { Node root = null; public class Node { Node left; Node right; int value; // 노드가 갖고 있는 값 Node(int data) { this.left = null; this.right = null; this.value = data; } } // TODO public boolean insertNode(int data) { return true; } // TODO public node search(int data) { } } 이진 탐색 트리에 데이터 넣기 public boolean insertNode(int data) { // CASE 1 : Node가 하나도 없을 때 if (this.root == nu.. 2022. 7. 25. 순서 트리 탐색 전위 순회(Preorder) 노드 방문 ➡ 왼쪽 자식 ➡ 오른쪽 자식 11 ➡ 5 ➡ 4 ➡ 1 ➡ 7 ➡ 6 ➡ 9 ➡ 15 ➡ 13 ➡ 12 ➡ 14 ➡ 18 중위 순회(Inorder) 왼쪽 자식 ➡ 노드 방문 ➡ 오른쪽 자식 1 ➡ 4 ➡ 5 ➡ 6 ➡ 7 ➡ 9 ➡ 11 ➡ 12 ➡ 13 ➡ 14 ➡ 15 ➡ 18 후위 순회(Postorder) 왼쪽 자식 ➡ 오른쪽 자식 ➡ (돌아와) 노드 방문 1 ➡ 4 ➡ 6 ➡ 9 ➡ 7 ➡ 5 ➡ 12 ➡ 14 ➡ 13 ➡ 18 ➡ 15 ➡ 11 소스코드 class Node{ int data; Node left; Node right; Node(int data) { this.data = data; } } // 전위순회 : 루트 -> 왼쪽 -> 오른쪽 publ.. 2022. 7. 9. 트리 트리란? 트리를 구성하는 요소는 노드(node)와 가지(edge)입니다. 각각의 노드는 가지를 통해 다른 노드와 연결되어있습니다. 루트 (root) : 트리의 가장 윗부분에 위치하는 노드 리프 (leaf) : 트리의 가장 아랫부분에 위치하는 노드 - 물리적으로 가장 아랫부분에 위치한다는 의미가 아니라 더 이상 뻗어나갈 수 없는 마지막에 노드가 위치한다는 의미 * 다른 용어로는 끝 노드(terminal node) 또는 바깥 노드(external node)라고도 합니다. 안쪽 노드 루트를 포함하여 리프를 제외한 노드를 안쪽 노드라고 합니다. * 다른 용어로는 끝이 아닌 노드(non-terminal node)라고도 합니다. 자식 (child) 어떤 노드로부터 가지로 연결된 아래쪽 노드 * 리프는 자식을 가질 .. 2021. 11. 6. 이전 1 다음 반응형