Практика «Карманный гугл»
В этом проекте вы создадите структуру данных индекса, который используется для быстрого поиска слов в документах.
В файле Indexer.cs реализуйте предложенные методы
-
Add. Этот метод должен индексировать все слова в документе. Разделители слов: { ' ', '.', ',', '!', '?', ':', '-','\r','\n' }; Сложность – O(document.Length)
-
GetIds. Этот метод должен искать по слову все id документов, где оно встречается. Сложность — O(result), где result — размер ответа на запрос
-
GetPositions. Этот метод по слову и id документа должен искать все позиции, в которых слово начинается. Сложность — O(result)
-
Remove. Этот метод должен удалять документ из индекса, после чего слова в нем искаться больше не должны. Сложность — O(document.Length)
Сложность операций с коллекциями
- Remove, Insert, Contains, IndexOf в List имеют сложность O(n).
- Add в коллекциях Dictionary и List имеет среднюю сложность O(1).
- Доступ по ключу в Dictonary имеет среднюю сложность O(1).
- Доступ по индексу в List имеет сложность O(1).
- Remove, ContainsKey в Dictionary имеют среднюю сложность O(1).
Купить решение:
Ваш Email (на него будет отправлен ответ)
Продолжая, вы соглашаетесь с пользовательским соглашением
Возможны трудности с доставкой сообщений на Gmail
Практика, практика и еще раз практика!
Войдите или зарегистрируйтесь, чтобы отвечать на тесты и решать задачи.