더북(TheBook)


2.6테스트 코드


마지막으로 테스트해 보지 못한 search() 메서드와 insert_node() 메서드를 테스트해 보고 마치겠습니다. 테스트 코드는 14장 2.5절에서 만든 이진 탐색 트리를 대상으로 작성하겠습니다.

print("searched data : {}".format(bst.search(8).data))


실행결과 searched data : 8


search() 메서드가 잘 작동합니다.

      # 이진 탐색 트리에서 6 노드를 삭제

      node = bst.remove(6)

      # 반환받은 삭제 노드의 데이터를 7로 변경

      node.data = 7

      # 변경된 노드를 이진 탐색 트리에 다시 삽입

      bst.insert_node(node)


      # 기대 출력 값: 5 3 2 4 8 7 10 9 11

      bst.preorder_traverse(bst.get_root(), f)

      print()


실행결과 5 3 2 4 8 7 10 9 11


Insert_node() 메서드도 잘 동작합니다.

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