Задать вопрос
@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
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@rollthebones Автор вопроса
Использование рекурсии помогло.
if tree.value.startswith(key):
    print(tree.value, tree.count)
    search(tree.left, key) 
    search(tree.right, key)
    return
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
19 янв. 2025, в 02:12
70000 руб./за проект
19 янв. 2025, в 01:58
20000 руб./за проект
18 янв. 2025, в 23:27
50000 руб./за проект