@rollthebones

Как сделать поиск слов в бинарном дереве поиска по первым буквам?

У меня есть функция поиска слова по первым символам в бинарном дереве поиска, но она находит только первое слово и останавливается. Как мне сделать вывод всех слов, которые начинаются на key ?

def search(tree, key):
            while True:
                try:
                    if tree.value.startswith(key):
                        print(tree.value, tree.count)
                        return
                    elif key < tree.value:
                        tree = tree.left
                    elif key > tree.value:
                        tree = tree.right
                except AttributeError:
                    print('Word' + key + ' is not found')
                    return
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
@rollthebones Автор вопроса
Использование рекурсии помогло.
if tree.value.startswith(key):
    print(tree.value, tree.count)
    search(tree.left, key) 
    search(tree.right, key)
    return
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы