(이을 어떻게해야 무엇입니까), 나는 당신이 단지 순회의 차이를 이해하지 못하는 같은데요 ...
프라이머 : 재귀 :
이 진정으로이 문제를 이해하기 위해서, 당신은 데이터 구조의 중요한 측면을 이해할 필요가있다. 이것은 당신이 파악해야 할 것입니다. 그것은 조금 걸릴 수 있으며, 다른 연습을 시도한 후. 그냥 클릭합니다. 여기
이가 시작하기 위해 자원 :
http://www.programmerinterview.com/index.php/recursion/explanation-of-recursion/
이제 다음과 같이 트리 탐색의 질문에오고, 일반적인 규칙은 다음과 같습니다
예약 주문 :
traversalFunction(Node)
doStuffWithNode(Node) //prechild traversal
traversalFunction(Node.left)
traversalFunction(Node.right)
에서 주문
traversalFunction(Node)
traversalFunction(Node.left)
doStuffWithNode(Node) //within child traversal
traversalFunction(Node.right)
후 주문 :
traversalFunction(Node)
traversalFunction(Node.left)
traversalFunction(Node.right)
doStuffWithNode(Node) //post child traversal
그래서 귀하의 질문에 대답하는 ... 당신은 왼쪽과 사이에 노드에 대한 작업을 수행하는 방법이있는 경우 오른쪽 횡단 예 순회 트래버스입니다. 그것이 당신이하는 일입니다.
당신은 여기 순회에 대한 자세한 정보를 찾을 수 있습니다
: 당신이 정말로 당신의 노드 클래스 또는 아무것도에 정보를 입력하지 않았기 때문에 https://en.wikipedia.org/wiki/Tree_traversal
지금 코드의 나머지의 정확성에, 나는 확실하지 오전 .
중간 줄에는'result'가'resultlist' 여야한다고 생각합니다. – nvioli
[이진 트리 용 순차 반복자]의 가능한 복제본 (http://stackoverflow.com/questions/12850889/in-order-iterator-for-binary-tree) – rbucinell
노드 클래스 –