용어
Tree: 1개 이상의 노드들의 유한 집합
Disjoint sets(부분 집합): 모든 트리는 노드 수 >= 0인 부분집합을 갖는다.
노드 레벨: 루트는 레벨 1, 자식 레벨 = 부모 레벨 + 1
노드의 차수(degree): 노드의 서브트리 수
리프 노드(터미널 노드): 차수가 0인 노드(끝 노드)
비단말 노드(논 터미널 노드): 차수가 0이 아닌 노드
노드 X의 자식: 노드 X의 서브트리의 루트
형제(sibling): 부모가 같은 자식들
트리의 차수: max{노드의 차수}
조상: 속한 모든 subtree의 루트
트리의 깊이: max{노드 레벨}
트리의 리스트 표현
>>공간 낭비가 많음
왼쪽 - 자식, 오른쪽 - 형제로 하여 이진 트리로 표현