더북(TheBook)


3.2노드 관련 메서드 구현


이진 트리 클래스는 트리 노드를 만들고 트리를 구성하며 트리를 순회합니다. 우선 클래스 생성자와 루트 노드를 관리하는 메서드, 새로운 노드를 만드는 메서드, 노드의 데이터를 관리하는 메서드입니다.

코드 13-6 data_structure_2/ds_3/binary_tree.py ② (BinaryTree 클래스 ①)

class BinaryTree:
    def __init__(self):
        # 멤버는 루트 노드를 가리키는 root 하나입니다
        self.root = None

    # 루트 노드 반환
    def get_root(self):
        return self.root

    # 루트 노드 설정
    def set_root(self, r):
        self.root = r

    # 새로운 노드를 만들어 반환
     def make_node(self):
         new_node = TreeNode()
         return new_node

    # 노드의 데이터 반환
        def get_node_data(self, cur):
            return cur.get_data()

     # 노드의 데이터 설정
        def set_node_data(self, cur, data):
            cur.set_data(data)


코드에 있는 주석만으로도 충분히 이해할 수 있으므로 자세한 설명은 생략하겠습니다.

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