2012-02-23 8 views
0

이것은 아마도 전문가 코더에게는 간단한 작업 일 수 있지만 노드를 찾기 위해 이진 순서가 지정되지 않은 트리를 재귀 적으로 통과 할 수 있습니까?재귀 적으로 이진 트리 탐색

이진 검색 트리에 대해이 작업을 수행 할 수 있지만 노드가 분기에서 발견되지 않을 때 백업을 트래버스하는 방법을 파악할 수 없기 때문에 트리를 정리하지 않을 때이 작업을 수행하는 방법에 어려움을 겪고 있습니다. ...

C++가 도움이 될 것입니다.

감사합니다.

+0

왜 불균형/정렬되지 않은 트리가 있습니까? 분명히 이진 트리의 요점은 정말 빠른 검색을위한 것입니다. –

+0

지금까지 무엇을 했습니까? 시도한 것을 보여주기 위해 우리에게 보여줄 수있는 코드가 있습니까? – FloppyDisk

답변

1

반복 사용. 아래의 유사 코드 :

ITERATIVE-TREE-SEARCH(x, k) 
while x ≠ NIL and k ≠ key[x] 
    do if k < key[x] 
      then x ← left[x] 
     else x ← right[x] 
return x