더북(TheBook)


3.3서브 트리 관련 메서드 구현


이제는 서브 트리를 생성하고 관리하는 메서드의 코드를 살펴볼 차례입니다. 이 메서드를 이용하면 노드를 특정 위치에 삽입하거나 삭제할 수 있습니다.

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

    # 왼쪽 서브 트리 반환
    def get_left_sub_tree(self, cur):
        return cur.left

    # 오른쪽 서브 트리 반환
    def get_right_sub_tree(self, cur):
        return cur.right

    # 왼쪽 서브 트리를 만듭니다
    def make_left_sub_tree(self, cur, left):      #1
        cur.left = left

    # 오른쪽 서브 트리를 만듭니다
    def make_right_sub_tree(self, cur, right):    #2
        cur.right = right


make_left_sub_tree()make_right_sub_tree()는 서브 트리를 만드는 메서드입니다(#1, #2). 두 메서드를 활용하면 트리의 특정 위치에 노드를 삽입하거나 삭제할 수 있습니다.

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