Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 03.05.2019
Сообщений: 4

Алгоритм Рабина Карпа

06.05.2019, 21:28. Показов 4520. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте форумчане, снова нуждаюсь в помощи. Помогите реализовать одну вещь
алгоритмом Рабина-Карпа, возвращать номер символа, начиная с которого некоторая подстрока или символ
входят в строку.

В алгоритмах пока очень слаб, нужно реализовать программу, чтобы можно было вводить в несколько строк буквы и посредством алгоритма Рабина-Карпа, возвращать номер символа, начиная с которого некоторая подстрока или символ
входят в строку.

Нашел алгоритм, но увы не могу под свою задачу переделать
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.company;
 
public class Main  
{ 
   
    public final static int d = 256; 
      
   
    static void search(String pat, String txt, int q) 
    { 
        int M = pat.length(); 
        int N = txt.length(); 
        int i, j; 
        int p = 0; 
        int t = 0; 
        int h = 1; 
      
     
        for (i = 0; i < M-1; i++) 
            h = (h*d)%q; 
      
       
        for (i = 0; i < M; i++) 
        { 
            p = (d*p + pat.charAt(i))%q; 
            t = (d*t + txt.charAt(i))%q; 
        } 
      
      
        for (i = 0; i <= N - M; i++) 
        { 
      
          
            if ( p == t ) 
            { 
                /* Check for characters one by one */
                for (j = 0; j < M; j++) 
                { 
                    if (txt.charAt(i+j) != pat.charAt(j)) 
                        break; 
                } 
      
               
                if (j == M) 
                    System.out.println("Pattern found at index " + i); 
            } 
      
           
            if ( i < N-M ) 
            { 
                t = (d*(t - txt.charAt(i)*h) + txt.charAt(i+M))%q; 
      
             
                if (t < 0) 
                t = (t + q); 
            } 
        } 
    } 
      
    
    public static void main(String[] args) 
    { 
        String txt = "GEEKS FOR GEEKS"; 
        String pat = "GEEK"; 
        int q = 101; // A prime number 
        search(pat, txt, q); 
    } 
}
Заранее благодарен
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2019, 21:28
Ответы с готовыми решениями:

Алгоритм Рабина-Карпа
Всем привет. Почему у меня Алгоритм Рабина - Карпа работает только для подстроки которая входит только с самого начала моей основной...

Алгоритм Карпа-Рабина
В общем не могу понять почему не подсчитывает кол-во вхождений подстроки в строку. using System; using System.Collections.Generic; ...

Алгоритм Рабина-Карпа
Всем доброго времени суток! Имеется код Алгоритма Рабина-Карпа, поиск подстроки в строке. Сегодня сдавать, боюсь сам полностью не...

2
25 / 21 / 6
Регистрация: 10.12.2018
Сообщений: 115
07.05.2019, 22:06
если я правильно понял - тебе нужен номер символа с которого начинается новая строка?
0
 Аватар для Aviz__
2748 / 2056 / 508
Регистрация: 17.02.2014
Сообщений: 9,483
08.05.2019, 14:03
Цитата Сообщение от JavaDoc Посмотреть сообщение
если я правильно понял
https://ru.wikipedia.org/wiki/... 0%BF%D0%B0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.05.2019, 14:03
Помогаю со студенческими работами здесь

Алгоритм Рабина-Карпа
Необходимо написать программу на ассемблере которая будет выполнять поиск строки в тексте по алгоритму рабина - карпа , помогите , братья...

Алгоритм Рабина-Карпа, нужны комментарии к коду
Привет всем. Столкнулся с задачей разобраться с кодом алгоритма рабина карпа. Объясните пожалуйста как в данной программе он работает. ...

Алгоритм Рабина-Карпа поиск строки в подстроке на Си
Помогите пожалуйста нужно сделать поиск подстроки в строке из файла с помощью алгоритма Рабина-Карпа: Вот чтение из файла: #include...

Усовершенствовать алгоритм Рабина-Карпа, чтобы он искал символьную подматрицу в символьной матрице
У меня есть этот алгоритм. Кто знает, как усовершенствовать его, чтобы он искал символьную подматрицу m * m в символьной матрицы n * n, при...

Поиск подстроки в строке: алгоритм Рабина-Карпа или Бойера-Мура(-Хорспула)
Необходимо реализовать алгоритм Рабина-Карпа или Бойера-Мура(-Хорспула), если нам дана подстрока, которую необходимо найти в файле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru