![]() |
|
![]() ![]() ![]() |
|
dapper91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.11.2014 Репутация: нет Всего: нет |
Доброго времени суток. Дана следующая задача: имеются две строки S1 и S2, длина S2 <= длины S1. Необходимо в строке S1 найти подстроку, наиболее близкую к S2 (с минимальным расстоянием Хэмминга).
Пример: S1 = abcdef S2 = fdaf Ответ: cdef Подскажите пожалуйса алгоритм работающий в худшем случае за N log(N). Заренее спасибо) |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Что Вы разумеете под N в данном случае? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
dapper91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.11.2014 Репутация: нет Всего: нет |
N - суммарная длина S1 и S2 (N = len(S1) + len(S2)) |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Хммм... в упор не понимаю зависимости от ЭТОГО значения. В данном случае сложность будет
O(S1-S2)*O(Hamming(S2)) а расчёт расстояния Хэмминга емнип имеет квадратичную сложность. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
dapper91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.11.2014 Репутация: нет Всего: нет |
можешь пояснить почему? Это же просто пробежаться по строке и посчитать кол-во отличающихся позиций (O(N)) |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Ну не говори ерунды, да? DiffPos('qwertyuio', 'wertyuiop') = 9 Hamming('qwertyuio', 'wertyuiop') = 2 -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |