Статьи

Алгоритм рабина карпа описание

Опубликовано: 27.09.2017

Алгоритм Рабина — Карпа — это алгоритм поиска строки, который ищет шаблон, то есть подстроку, в тексте используя хеширование. Он был разработан в году Майклом Рабином и Ричардом Карпом. Алгоритм редко используется для поиска одиночного шаблона, но имеет значительную теоретическую важность и очень эффективен в поиске совпадений множественных шаблонов.

Для текста длины n и шаблона длины m , его среднее время исполнения и лучшее время исполнения это O n , но в весьма нежелательном худшем случае он имеет производительность O nm , что является одной из причин того, почему он не слишком широко используется. Однако, алгоритм имеет уникальную особенность находить любую из k строк менее, чем за время O n в среднем, независимо от размера k. Одно из простейших практических применений алгоритма Рабина — Карпа состоит в определении плагиата.

Скажем, например, что студент пишет работу по Моби Дику. Коварный профессор находит различные исходные материалы по Моби Дику и автоматически извлекает список предложений в этих материалах. Затем, алгоритм Рабина — Карпа может быстро найти в проверяемой статье примеры вхождения некоторых предложений из исходных материалов. Для устранения чувствительности алгоритма к небольшим различиям, можно игнорировать детали, такие как регистр или пунктуация при помощи их удаления. Поскольку количество строк, которые мы ищем, k , очень большое, обычные алгоритмы поиска одиночных строк становятся неэффективными.

Основной проблемой алгоритма является нахождение постоянной строки длины m , называемой образцом , в тексте длины n ; например, нахождение строки "sun" в предложении "Hello sunshine in this vale of tears". Один из простейших алгоритмов для этой задачи просто ищет подстроку во всех возможных местах:. Этот алгоритм хорошо работает во многих практических случаях, но совершенно не эффективен например на поиске строки из "a", за которыми следует "b" в строке из 10 миллионов букв "a".

Новости

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

Колонки для компьютера днепропетровск
Персональные компьютеры уже давно перешли из ряда стандартных офисных аппаратов, которые нужны только для работы. Играть в компьютерные игры, смотреть фильмы и передачи на компьютере, слушать музыку —

Детские квадроциклы
Квадроциклы являются одним из самых веселых развлечений. Они считаются символом активного и динамичного отдыха. Управляемость и проходимость квадроцикла позволяют кататься на нем в любое время года и

Видео майнкрафт как создать сервер
Современные дымоходы - часть системы отвода продуктов горения от каминов, печей, котлов во внешнюю среду. Эффективность и правильная работа на 90% гарантируется правильно выбранным диаметром трубы дымохода

Как оформить аквариум своими руками видео
Друзья, оказывается, можно красиво оформить аквариум своими руками. Я нашел интересные видео по данной тематике. Там столько описаний - вплоть до создания аквариума с нуля и монтажа фильтра. Да, аквариум

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

Курсы бровиста Харьков
Женская привлекательность складывается из множества, порою мелких и незаметных на первый взгляд деталей. Конечно, в первую очередь, это особенности лица и глаза. Сегодня существует масса способов выгодно

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

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

rss