У меня есть строка (Привет, это строка), и я хочу найти ключевые слова в ней. Как мне это сделать?Оптимизированный алгоритм или метод, чтобы найти многословную строку (ключевые слова) в предложении (с несколькими словами)?
Я должен искать следующие ключевые слова в строке:
Строка: Привет, это строка.
Ключевые слова: 1. Здравствуйте это (должно совпадать) 2. Hello (должен совпадать) 3. Здравствуй т (не должно совпадать) 4. Привет это я (не должен совпадать)
Пожалуйста предложить оптимизированный способ построения структуры данных для хранения и поиска?
Это не работает, как это. Позвольте мне немного объяснить, что на самом деле мне нужно. У меня есть файл с 1000 строк (первый вопрос, как сохранить/построить структуру данных, чтобы был быстрый поиск). I.e «hello this is string 1», «Hello this is string 2». Я хочу найти ключевые слова i.e (привет, это строка 3) 100 запросов в секунду. Ваш soln значительно снизит производительность приложения, если я буду делать strstr для каждого отдельного запроса. Если у вас есть какой-либо способ сделать это, любезно поделиться или обсудить. Также, если у меня есть строка: «Привет», и я хочу выполните поиск по ключевому слову = «Привет». Ваш солон не удастся. – Gurpreet
В этом случае вы можете использовать структуру данных trie и вставлять каждое слово строки в качестве узла в trie. –
Я не могу использовать структуру данных trie. Поскольку длина ключевых слов и строка не фиксированы. Хотя trie выполняет поиск в O (n), но, как описано выше; это значительно увеличит время поиска. Другая проблема заключается в том, что если у меня будет 100 файлов, то мне придется поддерживать 100 три, что не очень хорошо с точки зрения памяти. Надеюсь, вы понимаете проблемы. – Gurpreet