Tree는 graph의 특수한 경우로서 다음과 같은 특징을 가진다.
트리는 각 노드사이에는 오직 한 개의 간선으로 이루어져 있으며(연결성), 각 노드를 연결했는 때 순환하는 경로가 존재해서는 안된다.(비순환성)
Tree의 용어를 살펴보면 다음과 같다.
뿐만아니라 K-ary tree, 즉 K진 트리라고 불리우는 모든 node의 자식이 k개 이하인 tree가 있다.
total of nodes N = 2^0 + 2^1 + 2^2 + ... + 2^h = 2^(h+1) - 1
위의 식을 계산하면 아래와 같다.
h = log(N+1) - 1 = log N
2^h - 1 < N <= 2^(h+1) - 1
2^h <= N < 2^(h+1)
h <= log N < h+1
h = Math.floor(log N) = log N