Как реализовать завершение табуляции

Одно из использования макросов, которые унесли мой ум, было проверкой времени компиляции запросов SQL против DB.

, Как только Вы понимаете, у Вас есть полный язык под рукой во время компиляции, он открывает интересные новые перспективы. Который также означает, что можно выстрелить себе в ногу интересными новыми способами (как рендеринг компиляции, не восстанавливаемой, который может очень легко превратиться в кошмар отладки).

21
задан E-rich 10 March 2011 в 04:11
поделиться

1 ответ

я искал способы реализовать заполнение клавишей Tab и не нашел простой ответ

Взгляд здесь . Это должно дать Вам довольно хорошую начальную точку.

, Что является основами, которые я должен знать о том, чтобы заставлять мое приложение поддерживать заполнение клавишей Tab

, необходимо быть знакомы со структурой данных Trie, поскольку это - структура общих данных, используемая для реализации заполнения клавишей Tab. Существует много учебных руководств, объясняющих это онлайн, ищет его.

Псевдокод (учитывая список строк):

Первый, сохраните каждую из букв строки в структуре данных Trie.

, когда пользователь поразил клавишу Tab:

(GeeksForGeeks), Учитывая префикс запроса, мы ищем все слова, имеющие этот запрос.

  1. Поиск данного запрос с помощью стандартного алгоритма поиска Trie.
  2. , Если сам префикс запроса не присутствует, возвратитесь-1 для указания на то же.
  3. , Если запрос присутствует и является концом слова в Trie, запросе печати. Это может, быстро проверенное наблюдение при последнем соответствии узлу имеет набор флага isEndWord. Мы используем этот флаг в Trie для маркировки конца узлов слова ради поиска.
  4. При последнем соответствии узлу запроса не имеет никаких детей, возвратиться.
  5. Еще рекурсивно печать все узлы под поддеревом последнего узла соответствия.
0
ответ дан 29 November 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: