7.4 이진 탐색 트리 구현

이제 앞에서 설계한 이진 탐색 트리를 구체적으로 구현합시다.

먼저 이진 탐색 트리의 추가 기능인 AddBook 메서드를 구현하기로 해요.

다음은 이진 탐색 트리의 가장 핵심적인 검색 기능입니다. 이 기능은 내부 메서드로 추가할 때 부모 노드를 검색하고 삭제나 검색 기능에서 입력한 도서 번호와 같은 키 값을 갖는 노드를 찾는 메서드입니다.

이제 추가할 노드와 부모 노드의 연결하는 메서드를 구현합시다.

이제 사용하는 곳에서 검색에 사용할 FindBook 메서드를 구현합시다.

도서 삭제 기능을 구현합시다.

이제 연결을 끊는 메서드를 구현합시다.

전체 출력하는 ListAll 메서드를 구현합시다.

다음은 전위 순회입니다.

중위 순회와 후위 순회도 서브 트리의 루트 정보를 언제 출력하는지만 차이가 있을 뿐이죠.

소멸자에서는 후위 순회로 모든 노드를 소멸하세요.