1. Level traversal 은 트리의 level 을 따라서 모든 노드들을 방문하는 것이다. 이는 큐를 사용한다.
  2. Formula tree 는 수학 연산을 트리 구조로 구현한 것이다. 터미널 노드에는 피연산자가, non-terminal 노드에는 연산자가 할당된다. 컴퓨터의 경우 연산을 할 때 postfix 연산 방식을 사용한다.
  3. 이때 서브트리는 재귀적으로 호출되게 된다. 터미널 노드가 아닌 노드에 방문하면 두 서브트리의 값들이 가운데에 위치한 operator 에 의해 계산되어진다.
  4. 포뮬러 트리의 쉐도 코드는 다음과 같다.

Untitled

Untitled

Untitled

Untitled

  1. 이진 트리 탐색의 예로는 노드의 개수를 세는 것이 있다. 이는 재귀적으로 각각의 서브트리를 호출하게 되고, 리턴된 값에 1을 더하게 된다. 이와 비슷한 예로는 트리의 height 를 계산하는 함수가 있다.
  2. 이진 트리를 이용해 predecessor 와 successor 를 구할 수도 있다. successor 를 구하는 함수의 코드는 다음과 같다.

Untitled