choah76   3년 전

파이썬으로 순회구현하기가 장난아니게 어려운것 같습니다..

그런데 코드의 길이는 둘째치고, 전위/중위/후위 순회를 각각 다른 셀에 따로따로 구현했을때는 잘 돌아가더니, 이것을 한 셀에서 세개를 돌려버리니 

딕셔너리쪽에 오류가 생겨 실행되지 않습니다. 어떻게 해결하면 좋을까요? 

코드가 너무 긴관계로 도식화하여 올리겠습니다. 오류는 중위순회를 시작할때 발생하며, tree2와 tree가 완벽하게 별개의 객체가 되지 않은것으로 보입니다.

요청시 원본도 올려드리겠습니다.

많은 도움 부탁드립니다.

shg9411   3년 전

원본 올려주세요

choah76   3년 전

전문입니다.

shg9411   3년 전

얕은 복사와 깊은 복사에 대해서 검색해보신다면 도움이 될 것 같아요.

그리고 inorder

2

A B .

B . .

와 같은 경우에 런타임 에러 발생하네요.

정답을 맞추고 싶으신 거면 그 부분만 수정하면 정답을 받으실 수 있습니다.

이 코드에서도 전위,중위,후위 출력 하는 함수 5라인으로 끝나게 짜실 수 있는데 현재 쓸데 없는 코드도 많은 것 같아요.

choah76   3년 전

깊은복사의 copy.deepcopy()를 이용했더니 해결했습니다. 정말 감사합니다.

shg9411   3년 전

https://www.acmicpc.net/source...

이 소스랑 하려고 하신 방향이 같은 것 같은데, 참고하시면 다음에 짤 때 좋을 것 같아요.

choah76   3년 전

엄청나게 간결하네요 ㄷㄷ

참고해서 코드수정좀 해보겠습니다! 감사합니다!

댓글을 작성하려면 로그인해야 합니다.