더북(TheBook)

코드 14-3 bst/BST.py ③(search() 메서드)

    def search(self, target):
        cur = self.root

        while cur:
            # 대상 데이터를 찾으면 노드를 반환
            if target = = cur.data:
                return cur
            # 대상 데이터가 노드 데이터보다 작으면
            # 왼쪽 자식 노드로 이동
            elif target < cur.data:
                cur = cur.left
            # 대상 데이터가 노드 데이터보다 크면
            # 오른쪽 자식 노드로 이동
            elif target > cur.data:
                cur = cur.right
        # while 문을 빠져나온 경우
        # 대상 데이터가 트리 안에 없다
        return cur


자세한 코드 설명은 주석으로 대신하겠습니다.

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