|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.04.2011, 00:14 | #1 |
Пользователь
Регистрация: 23.02.2011
Сообщений: 28
|
Как работает префикс функция ?
Привет всем! это алгоритм Кнута-Моррисона-Пратта,нашел код,но ни как не вникаю в этом коде как работает префикс функция prefixFunction(), я знаю теорию и как мы вычисляем префикс функцию но как реализован на jave непонятно,можете комменты поставить в строках кода
Например для abacaba, P("abacaba",i) P("abacaba", 1) = "a":0 P("abacaba", 2) = "ab":0 P("abacaba", 3) = "aba":1 P("abacaba", 4) = "abac":0 P("abacaba", 5) = "abaca":1 P("abacaba", 6) = "abacab":2 P("abacaba", 7) = "abacaba":3 получаем P("abacaba") =0010123 Код:
Последний раз редактировалось videolord; 14.04.2011 в 00:18. |
14.04.2011, 06:21 | #2 |
Пользователь
Регистрация: 23.02.2011
Сообщений: 28
|
нашел еще пример но неясно как мы сравниваем между собой !
Для строки 'abcdabscabcdabia' вычисление будет таким: 'a'!='b' => π=0; 'a'!='c' => π=0; 'a'!='d' => π=0; 'a'=='a' => π=π+1=1; 'b'=='b' => π=π+1=2; 'c'!='s' => π=0; 'a'!='c' => π=0; 'a'=='a' => π=π+1=1; 'b'=='b' => π=π+1=2; 'c'=='c' => π=π+1=3; 'd'=='d' => π=π+1=4; 'a'=='a' => π=π+1=5; 'b'=='b' => π=π+1=6; 's'!='i' => π=0; 'a'=='a' => π=π+1=1; |
14.04.2011, 18:18 | #3 |
Форумчанин
Регистрация: 21.04.2010
Сообщений: 125
|
вроде норм обяснено
|
14.04.2011, 21:05 | #4 |
Пользователь
Регистрация: 23.02.2011
Сообщений: 28
|
ваще не получается скачать
кто нить скиньте на файлообменник пожалуйста! |
15.04.2011, 17:17 | #5 |
Пользователь
Регистрация: 23.02.2011
Сообщений: 28
|
Спасбо огромное legendary! Классная реализация!Теперь все понятно!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как работает функция number_format? | Nikirinka | PHP | 4 | 08.01.2011 16:50 |
функция eoln() не работает как надо | Cannibal | Помощь студентам | 4 | 30.11.2010 12:58 |
функция Get Document не работает в CDialog. как получить документ в CDIalog | MFCCasper | Общие вопросы C/C++ | 4 | 24.03.2010 15:06 |
Как передать префикс в HTTPRIO? | Sasha_Sha | Общие вопросы Delphi | 0 | 28.04.2009 05:28 |
Объясните, как работает функция strlen() | TheWanderer | Общие вопросы C/C++ | 9 | 25.11.2008 22:46 |