Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нечеткий поиск подстроки за N log(N) 
:(
    Опции темы
dapper91
Дата 11.11.2014, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.11.2014

Репутация: нет
Всего: нет



Доброго времени суток. Дана следующая задача: имеются две строки S1 и S2, длина S2 <= длины S1. Необходимо в строке S1 найти подстроку, наиболее близкую к S2 (с минимальным расстоянием Хэмминга).
Пример:
S1 = abcdef
S2 = fdaf
Ответ: cdef

Подскажите пожалуйса алгоритм работающий в худшем случае за N log(N). Заренее спасибо)
PM MAIL   Вверх
Akina
Дата 11.11.2014, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(dapper91 @  11.11.2014,  01:06 Найти цитируемый пост)
работающий в худшем случае за N log(N). 

Что Вы разумеете под N в данном случае?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dapper91
Дата 11.11.2014, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.11.2014

Репутация: нет
Всего: нет



Цитата(Akina @ 11.11.2014,  08:49)
Что Вы разумеете под N в данном случае?

N - суммарная длина S1 и S2 (N = len(S1) + len(S2))
PM MAIL   Вверх
Akina
Дата 11.11.2014, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Хммм... в упор не понимаю зависимости от ЭТОГО значения. В данном случае сложность будет
O(S1-S2)*O(Hamming(S2))
а расчёт расстояния Хэмминга емнип имеет квадратичную сложность.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dapper91
Дата 11.11.2014, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.11.2014

Репутация: нет
Всего: нет



Цитата(Akina @ 11.11.2014,  13:15)
а расчёт расстояния Хэмминга емнип имеет квадратичную сложность.

можешь пояснить почему? Это же просто пробежаться по строке и посчитать кол-во отличающихся позиций (O(N))
PM MAIL   Вверх
Akina
Дата 11.11.2014, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(dapper91 @  11.11.2014,  12:38 Найти цитируемый пост)
Это же просто пробежаться по строке и посчитать кол-во отличающихся позиций (O(N)) 

Ну не говори ерунды, да?

DiffPos('qwertyuio', 'wertyuiop') = 9
Hamming('qwertyuio', 'wertyuiop') = 2


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.