

정점(NODE)과 선분(BRANCH) 을 이용하여 데이터의 각 요소들을 계층적으로 연관되도록 구조화 시키고자할 때 사용하는 비선형 자료구조
- 트리는 하나의 루트 노드를 갖음.
- 루트 노드는 0개 이상의 자식 노드를 가진다.
- 자식 노드 또한 0개 이상의 자식 노드를 가지며, 반복적으로 트리 구성
- 각 노드들은 서로를 연결하는 BRANCH 로 이어져있다.
- 노드가 N개인 트리는 항상 N-1개의 BRANCH를 가진다.
- 사이클이 없는 하나의 연결 그래프
-> 즉, 루트노드에서 시작하여 같은 방향으로 다시 루트노드에 도착할 수 없다.- DAG(Directed Acyclic Graph, 방향성이 있는 비순환 그래프)의 한 종류.

각 노드에서 뻗어나온 가지 수
A DEGREE = 2, C DEGREE = 3
TREE의 DEGREE : DEGREE 중 가장 많은 수 = 2
TREE DEPTH = 4


위 트리의 전위 순회 결과는 A->B->C->D->E->F->G


각 노드가 자식 노드를 최대 2개까지 가지는 트리이다.
각각의 자식 노드는 자신이 부모의 왼쪽 자식인지 오른쪽 자식인지 지정된다.

왼쪽 자식 노드부터 순서대로 노드가 채워지며 마지막 레벨을 제외하고는
모든 자식 노드가 채워져있는 트리를 말한다.
마지막 레벨 역시 노드가 왼쪽에서 부터 순서로 채워져야 한다.

모든 노드가 0개 혹은 2개의 자식 노드를 가지며 모든 리프노드가 똑같은 레벨에 있는 경우의 트리를 말한다.

정 이진 트리(full binary tree)는 모든 노드가 0개 혹은 2개의 자식 노드를 가지는 트리를 말한다.

말 그대로 노드들이 전부 한 방향으로 편향된 트리를 말한다.

이진 탐색 트리(binary search tree)는 이진 트리의 한 종류이다.
이진 트리이지만 왼쪽 자식 노드가 루트 노드보다 값이 작고,
오른쪽 자식 노드가 루트 노드보다 값이 큰 트리를 말한다.