반년 전 저는 재귀, 스택, 대기열 등 (또는 다른 유사한 데이터 구조)과 몇 가지 포인터를 사용하지 않고 나무를 횡단 할 수 있다면 교수가 추가 학점을 제공하는 데이터 구조 클래스에 앉아있었습니다. 나는 그 질문에 대한 명백한 대답이라고 생각했던 것을 생각해 내었고, 이는 결국 교수가 받아 들였다. 나는 같은 부서의 다른 교수와 함께 별도의 수학 수업에 앉아 있었고 재귀, 스택, 대기열 등이 없으면 나무를 통과 할 수 없으며 내 솔루션이 유효하지 않다고 주장했습니다.
그렇다면 가능합니까 아니면 불가능합니까? 그 이유는 무엇?
편집 : 약간의 설명을 추가하기 위해 각 노드에 저장된 데이터와 두 개의 자식에 대한 포인터의 세 가지 요소가있는 이진 트리에서 이것을 구현했습니다. 내 솔루션은 몇 가지 변경만으로 n-ary 트리로 확장 될 수 있습니다.
내 데이터 구조 교사는 나무를 돌연변이시키는 것에 대해 아무런 제약을 두지 않았으며, 나중에 자신의 해결책은 자식 포인터를 사용하여 길을 가면서 나무를 위로 향하게하는 것임을 나중에 알았습니다. 저의 개별 수학 교수는 나무의 변이가 더 이상 나무의 수학적 정의에 따라 나무가 아니라는 것을 의미하며, 그의 정의는 부모에 대한 포인터도 배제 할 것이라고 말했습니다.