В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Myrasami
Myrasami
13.08.2022 04:42 •  Информатика

Даны текстовый файл и некоторое слово. напечатайте те строки файла, которые содержат данное слово. можете подробно рассказать о механизме поиска. только не надо интернета, это все не то. большое ))

Показать ответ
Ответ:
annasevsehkocot
annasevsehkocot
02.10.2020 11:02
Механизмы поиска могут быть различными. Конкретный механизм зависит от различных факторов, таких как, количество планируемых поисков, объем текстового файла, условия поиска и т.д.
1. Однократный поиск в соответствии с условиями задачи.
В этом случае нет смысла в использовании сложных алгоритмов и/или  предварительной подготовке файла. Чем сложнее алгоритм, тем больше будут затраты труда и времени на написание и отладку программы. Наилучшее решение - последовательный просмотр строк файла с поиском первого вхождения в строку заданного контекста. Большинство языков программирования имеет встроенную функцию или процедуру поиска подстроки в строке, например Pos() в языке Паскаль, поэтому задача сводится к единственному циклу "Повторять пока не встретился конец файла: читать строку, искать в строке контекст и что-то с ним сделать".
2. Многократный поиск в файле различных контекстов.
Здесь используются специально разработанные методы, основанные на предшествующем построении дополнительных структур, таких, как индексы, деревья поиска и т.д. Их общий смысл в том, что для поиска сначала просматриваются эти вс структуры (которые, к тому же, упорядочены для ускорения поиска) и зачастую к самому файлу можно вообще не обращаться. Для понимания аналогии можно вспомнить поиск нужного слова в словаре. Сначала мы выбираем первую букву, затем ищем страничку, которая содержит слова, между которыми находится наше искомое, а потом просматриваем найденную страницу.
0,0(0 оценок)
Ответ:
andrey4565178
andrey4565178
02.10.2020 11:02
Существует множество алгоритмов поиска, самый легкий, но самый долгий - брут-форс. Полное перебирание всех символов строки.
Например, есть строка 99 Bottles of beer on the wall и ищется подстрока (слово) the. Тогда идет полный перебор. Сравнивается первый символ слова (t) и каждый символ строки. Если символы совпали, то сравнивается следующий символ строки и следующий символ слова (h) и так далее. Если все символы слова совпали, то в строке оно содержится. Брут-форс - самый неэффективный алгоритм, т. к. время его работы линейно зависит от длины строки.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота