더북(TheBook)

또 전위 순회는 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 파일에 있습니다.

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