이진 트리(Binary Tree), 이진 트리(Binary Tree)의 코드화

CODEDRAGON Development/Algorithm, DataStructure

반응형

 

 

이진 트리(Binary Tree)

·         링크드리스트(Linked List)처럼 여러 개의 노드(node)가 서로 연결된 구조입니다.

·         루트(root)노드에서 시작해서 계속 확장하면서 트리 구조를 만들어 갑니다.

·         모든 노드가 최대 “2 개”의 자식을 가질 수 있는 트리 구조이며, 한 부모노드가 단 두개의 자식노드만 가질 수 있습니다.

·         위 아래로 연결된 두 노드는 '부모-자식'관계에 있으며 위의 노드를 부모노드, 아래의 노드를 자식노드라고 합니다. '부모-자식'관계는 상대적인 것입니다.

·         트리(tree)는 노드들이 나무와 같이 계층적인 구조로 연결되어 있어서 붙여진 이름입니다.

 

 

구분

설명

A

root node

A, B, C, D, E, F, G

node

A, B, E

A: 부모노드

B, E : A의 자식노드

B, C, D

B: 부모노드

C, D : B의 자식노드

E, F, G

E: 부모노드

F, G : E의 자식노드

C

가장 왼쪽 노드

G

가장 오른쪽 노드

 

 

 


 

이진 트리(Binary Tree)의 코드화

데이터를 저장하기 위한 Object타입의 참조변수와 두 개의 노드를 참조하기 위한 두 개의 참조변수를 선언한 코드입니다.

class TreeNode{

Object element; //객체 저장 참조변수

TreeNode left; // 왼쪽 자식node

TreeNode right; // 오른쪽 자식node

}