AutofillPrefixTreeCPP

0

Описание

Автозаполнение. Префиксное дерево.

Языки

  • C++100%
3 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
3 года назад
readme.md

14.10. Домашнее задание

ЗАДАЧА: В качестве итогового задания вам необходимо реализовать программу, выполняющую автозаполнение введенного слова по изначально заданному словарю. То есть, вам необходимо построить дерево, которое будет словарем, а затем выполнить проверку и предложить подходящие варианты слов по введенной части. Дополнение можно реализовываться как по нажатию какой-либо клавиши, так и любым другим способом. После нажатия программа не должна завершаться и ждать нового ввода от пользователя.

Реализовано:

  • Префиксное дерево, которе выполняет функцию словаря.
  • Метод findWords для получения массива слов удовлетворяющих поиску по ключевому слову.
  • Метод insert для вставки новых слов в дерево.
  • Другие методы для обеспечения работы класса.
  • Интерфейс, позволяющий получать списки слов соответствующих ключевому слову и добавлять новые слова в словарь.

Интерфейс программы:

Перед каждым вводом выводится список слов в словаре:

Keywords in the dictionary: doc doctor document dog dot duck mail man master mode model moment

Далее предлагается ввести часть любого из выше указанных слов или команду для перехода к другому меню:

Enter a part of any keyword from the dictionary (0 - Exit, 1 - Go to adding to the dictionary): doc

После ввода будут выведены слова из словаря, соответствующие введенному ключевому слову:

Keywords for autocomplete: doc doctor document

При выборе команды перехода в меню добавления слов:

Keywords in the dictionary: doc doctor document dog dot duck mail man master mode model moment Enter a word to add to the dictionary [a-z] (0 - Exit, 1 - Go to autofill): zero Keywords in the dictionary: doc doctor document dog dot duck mail man master mode model moment zero

При добавлении каждого нового слова программа будет выводить их. В данной программе количество выводимых слов 20. Это можно изменить в параметре max в методе findWords в Input.cpp