Это для домашнего задания, поэтому я не хочу точного кода, но буду признателен за любые идеи, которые могут помочь мне указать верное направление.
Задача состоит в том, чтобы написать программу решения проблемы.Я чувствую рекурсивную часть, я чувствую, но мне нужно кое-что понять, как сравнить текущую последовательность символов со словарем.
Мне необходимо хранить словарь либо в наборе, либо в отсортированном списке.,Я пытался реализовать это с помощью набора.Чтобы программа работала быстрее и не следовала тупиковым путям, мне нужно проверить и посмотреть, существует ли текущая последовательность символов в качестве префикса к чему-либо в наборе (словаре).
Я нашелэта операция set.find () возвращает true, только если строка является точным соответствием.В лабораторных требованиях профессор упоминал, что:
"Если словарь хранится в наборе, многие библиотеки структур данных предоставляют способ найти строку в наборе, ближайшую к той, которую вы ищетеТакая операция может быть использована для быстрого поиска слова с заданным префиксом. "
Я искал сегодня то, что описывает профессор.Я нашел много информации о попытках, но так как мне нужно использовать список или набор, я не думаю, что это сработает.
Я также попытался найти алгоритмы для функций автозаполнения, но те, что я нашел, кажутся чрезвычайно сложными для того, что я пытаюсь выполнить здесь.
Я также думал об использовании strncmp () для сравнения текущей последовательности со словом из набора словарей,но опять же, я не знаю, как именно это будет функционировать в этой ситуации, если вообще будет.
Стоит ли продолжать исследовать, как это будет работать в наборе, или я должен просто попытаться использовать отсортированный списокхранить мой словарь?
Спасибо