더북(TheBook)

이진 트리 객체를 하나 만들고(#7) 이 객체를 통해 노드를 만듭니다(#8). 또한 이진 트리 객체를 통해 노드의 데이터도 설정합니다(#9).

이번엔 만든 노드들을 그림 13-13에 맞게 구성해 봅니다.

코드 13-9 data_structure_2/ds_3/binary_tree.py ⑤ (트리 구성 코드)

    # 노드 1을 루트 노드로 설정
    bt.set_root(n1)

    # 루트 노드의 왼쪽 자식 노드로 노드 2 설정
    bt.make_left_sub_tree(n1, n2)
    # 루트 노드의 오른쪽 자식 노드로 노드 3 설정
    bt.make_right_sub_tree(n1, n3)

    bt.make_left_sub_tree(n2, n4)
    bt.make_right_sub_tree(n2, n5)

    bt.make_left_sub_tree(n3, n6)
    bt.make_right_sub_tree(n3, n7)


코드 13-10처럼 메서드를 이용해 각각의 부모 노드와 자식 노드를 연결하면 그림 13-13과 같은 이진 트리를 구성할 수 있습니다.

우리가 만든 이진 트리가 잘 구성되었는지 알고 싶지만 아직은 방법이 없습니다. 이어서 트리의 순회를 공부한 다음 이진 트리의 모든 노드를 방문해 보면서 잘 구성되었는지 확인해 보겠습니다.

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