또 전위 순회는 DFS 일종입니다. 즉, 스택 계열의 함수이므로 재귀 함수로 구현하거나 스택 자료 구조와 반복문을 이용해서 구현할 수 있습니다. 먼저 트리 노드를 구현하겠습니다. 트리 노드는 참조를 총 두 개 가지고 있습니다. 왼쪽 자식 노드와 오른쪽 자식 노드를 가리키는 참조이지요.1

    코드 7-1

    class TreeNode:
        def __init__(self, data=None):
            self.__data = data
            self.__left = None
            self.__right = None
    
        def __del__(self):
            print('data {} is deleted'.format(self.__data))
    
        @property
        def data(self):
            return self.__data
    
        @data.setter
        def data(self, data):
            self.__data = data
    
        @property
        def left(self):
            return self.__left
    
        @left.setter
        def left(self, left):
            self.__left = left
    
        @property
        def right(self):
            return self.__right
    
        @right.setter
        def right(self, right):
            self.__right = right

     

     


    1 7장 전체 코드는 binary_tree.py 파일에 있습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.