Статьи

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

Опубликовано: 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% гарантируется правильно выбранным диаметром трубы дымохода

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

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

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

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

Khmelnytski.info
Подойти к этому вопросу нужно достаточно серьезно, так как тематика выбирается раз и навсегда. К сожалению, многие новички ошибаются с выбором тематики для блога и осознают это очень поздно, и как результат

Сайты Харькова
Каждый день человеку необходимо принимать решение. Некоторые даются легко:  выбрать белую или голубую рубашку, юбку или брюки. Простые решения выбираются на « автомате» в зависимости от настроения,

Rivne-trend.in.ua
Широта распространения и охвата аудитории лежит в основе деления культуры на элитарную и массовую. Элитарная культура — это культура привилегированных групп общества, характеризующаяся принципиальной

Poltava-trend.in.ua
Исходя из этих критериев, можно легко преподнести себя в том или ином деле. Хороший доход может быть на любой работе. Но хороших друзей на рабочем месте выбрать сложно. В такой ситуации больше побеждает

rss