반응형







랜덤하게 2진트리를 생성하고, 각각의 방식 (Preorder, Inorder, Postorder) 으로 출력하는 프로그램을 만들어 보았다.


먼저 랜덤하게 생성되는 트리는 중복되지 않는 20개의 숫자를 랜덤하게 생성하여 이진트리로 만들었다.





랜덤하게 생성된 이진트리의 구조는 다음과 같다.


이를 각각의 방식으로 출력해주는 함수를 만들어 출력해 주었다.



출력함수는 다음과 같다.



Preorder 방식



Inorder 방식



Postorder 방식



Linked List로 연결되어 있는 트리의 Root 포인터를 인자로 받아와


Recursion을 이용하여 각각의 방식대로 출력해 준다.


함수 내에서 Recursive하게 함수가 호출되는 순서를 보면, 이전 포스팅에서 이야기 했던


각 방식의 호출 순서와 동일함을 확인 할 수 있다.


이는 이해하기 좀 더 쉬울것이라 예상된다. 




결과적으로 최종 출력 화면을 확인해 보면




다음과 같이 제대로 출력되는 모습을 확인 할 수 있다.

반응형

+ Recent posts