이진 트리 검색

1. 일반 재귀

하나      의 TreeNode searchBST * (*에서의 TreeNode 루트 INT의 발) {
 2       경우 (! 루트)
 3           nullptr;
도 4       의 경우 (발> 루트 -> 발)
 5       {
 6           루트 = searchBST (루트 -> 오른쪽 발);
7       }
 (8)       그 밖의  경우 (발 <루트 -> 발)
 9       {
 10           루트 = searchBST (루트 -> 왼쪽 발);
11       }
 12           반환 루트;
13       }

주문 재귀 2.

하나   의 TreeNode searchBST * (*에서의 TreeNode 루트 INT의 발) {
 2       경우 (! 루트)
 3           nullptr;
4       의 TreeNode * 입술 = searchBST (루트 -> 왼쪽 발);
도 5       의 경우 (해상도)
 6           복귀 입술;
(7)       그 밖의  경우 (루트 -> 발> 발)
 8           복귀 nullptr;
9       다른  경우 (루트 레벨> 발 == val) 인
 10           반환 루트;
11       의 TreeNode * 입술 = searchBST (루트 -> 오른쪽 발);
12       리턴 고해상도;
13   }

3. 반복

하나 의 TreeNode searchBST * (*에서의 TreeNode 루트 INT의 발) {
 2      동안 (루트)
 3-      {
 4-          경우 (루트 -> 발> 발)
 5              루트 = 루트 -> 좌측;
(6)          그 밖의  경우 (루트 -> 발 < 발)
 7              루트 = 루트 -> 오른쪽;
8          다른 
9              반환 루트;
10      }
 11      반환 루트;
12 }

 

추천

출처www.cnblogs.com/zouma/p/11566861.html