더북(TheBook)

중위 순회 메서드인 inorder_traverse()의 실행 결과를 보면 BST의 모든 원소가 정렬되어 나오는 것을 알 수 있습니다.

코드 8-10

    searched_node = bst.search(8)
    if searched_node:
        print(f'searched key : {searched_node.key}')

        prev_node = bst.prev(searched_node)
        if prev_node:
            print(f'prev key : {prev_node.key}')
        else:
            print(f'this is the first key of the BST')

        next_node = bst.next(searched_node)
        if next_node:
            print(f'next key : {next_node.key}')
        else:
            print(f'this is the last key of the BST')
    else:
        print('there is no such key')
    print()

코드 8-10은 search()prev(), next() 메서드의 활용 예입니다. 실행 결과만 살펴보겠습니다.

searched key : 8
prev key : 6
next key : 9
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.