Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.12.2006, 19:58
invoke

 
Сообщений: n/a

алгоритм кнута-морриса-пратта - на с++
помогите .........плз.... может у кого есть исходники алгоритма кнута-морриса-пратта - на с++ ))))))))) поделитесь плз ))))))))
очень надо
  #2  
Старый 19.04.2007, 22:57
Новичок

Отправить личное сообщение для dimson Посмотреть профиль Найти все сообщения от dimson
 
Регистрация: 15.11.2006
Сообщений: 7

http://algolist.manual.ru/search/esearch/kmp.php
вот тут есть реализация
  #3  
Старый 22.04.2007, 18:26
Пользователь

Отправить личное сообщение для AndreySUrSU Посмотреть профиль Найти все сообщения от AndreySUrSU
 
Регистрация: 06.10.2006
Адрес: Челябинск
Сообщений: 66

long KMP(const char* s1, const char* s2)
{
static long p[M+1];
long i,k,m,n;

n=strlen(s1);
m=strlen(s2);

if (n<m)
return -1;

p[0]=p[1]=0;
for(i=2;i<=m;++i)
{
p[i]=s2[0]==s2[i-1];
for(k=i-1;p[k];k=p[k])
if (s2[i-1]==s2[p[k]])
{
p[i]=p[k]+1;
break;
}
}

long a=0,sm=0;
while(a<n)
{
for(i=sm;i<m && s1[a+i]==s2[i];++i);
if (i==m)
return a;
if (i==0)
i=1;
sm=p[i];
a+=i-sm;
}

return -1;
}

Вот))))
  #4  
Старый 07.10.2010, 00:28
гость

 
Сообщений: n/a

Википедия тебе в помощь =)
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алгоритм кнута-морриса-пратта - на с++ invoke Реализация, исходники, языки 2 27.12.2006 21:12