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 } |
'Development > Algorithm, DataStructure' 카테고리의 다른 글
이진 트리 특징 - 이진 트리 정렬, 이진 트리 데이터 (0) | 2017.05.23 |
---|---|
Algorithm Visualizer (0) | 2017.05.15 |
이진 검색(binary search) (0) | 2017.05.01 |
이진 탐색 트리(Binary Search Tree), 이진 트리 구조 도식도, 이진 검색 트리 저장 원리 (0) | 2017.05.01 |
Comparable의 compareTo 구현 사례 -Integer 랩퍼클래스 (0) | 2017.04.29 |