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