![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 23.05.2013
Сообщений: 32
|
![]()
//Хеш-функция для алгоритма Рабина-Карпа
public static int Hash(string x) { int p = 31; //Простое число int rez = 0; //Результат вычисления for (int i = 0; i < x.Length; i++) { rez += (int)Math.Pow(p,x.Length-1-i)*(int)(x[i]);//Подсчет хеш-функции } return rez; } Почему берут простое число р=31? Почему именно это число возводят в степень, объясните, пожалуйста? |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 23.05.2013
Сообщений: 32
|
![]()
Объясните доступным языком, как работает хеш-функция, а то не понимаю этой логики...
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 23.05.2013
Сообщений: 32
|
![]()
У меня сравниваются большие тексты и если использовать массив, то сравнение идет долго, мне желательно ускорить этот процесс. Как вариант я выбрал хэш-функции, но не могу понять их логики
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]()
На википедии вполне доступно объясняется назначение и принцип работы хэширующей функции в этом алгоритме.
Благодарить в репутацию. Проклинать — туда же
![]() Последний раз редактировалось Luuzuk; 04.06.2015 в 18:34. Причина: читать тему внимательнее надо было ) |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 23.05.2013
Сообщений: 32
|
![]()
Мне нужно выделить те участки, которые совпадают, этот метод вообще не подходит, потому что нужно не просто сказать одинаковые/нет тексты
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]()
Да, понял свою ошибку, пост выше поправил
Благодарить в репутацию. Проклинать — туда же
![]() |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 23.05.2013
Сообщений: 32
|
![]()
Я начал работать с хешами, но меня результаты не удовлетворяют, выводит совсем не то, что я ожидаю....та еще коллизии
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]()
А что у вас выходит, чего вы ожидаете, и почему вас пугают коллизии?
Благодарить в репутацию. Проклинать — туда же
![]() |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 23.05.2013
Сообщений: 32
|
![]()
http://cybern.ru/rabina-karpa-csharp.html
использовались вот эти методы ну например я вызываю string x ="мерой участия"; string s="Политический режим характеризуется методами осуществления политической власти, мерой участия граждан в управлении, отношением государственных институтов "; Console.WriteLine( Rabina(x,s)); В итоге ничего не получаю....почему? если ввожу string x ="Политический режим", то выводит индекс вхождения 0 |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как работает эта программа(Алгоритм Рабина-Карпа с++)??? | Lodas | Общие вопросы C/C++ | 1 | 18.12.2011 11:58 |
Алгоритм Карпа-Рабина [JScript] | dixonich | Помощь студентам | 3 | 28.11.2010 22:04 |
Алгоритм Карпа-Рабина [JScript] | dixonich | Помощь студентам | 0 | 25.11.2010 21:46 |
Алгоритм Кнута-Морриса-Пратта или Рабина-Карпа (язык С++). Может у кого-нибудь есть готовый рабочий ? | Беата | Помощь студентам | 7 | 27.03.2010 10:50 |
алгоритм рабина-карпа(поиск подстроки) | kristy42 | Помощь студентам | 0 | 03.11.2009 18:41 |