Вопросы по теме 'rabin-karp'

Рабин-Карп: вычисление скользящего хеша добавляет большое простое число к ранее вычисленному хешу
Я думаю, что концептуально понимаю алгоритм сопоставления с образцом RabinKarp с использованием скользящего хеша. Просматривая пример реализации здесь , я обнаружил, что большое простое число число q добавляется к ранее вычисленному скользящему...
163 просмотров

Как предотвратить использование этой циклической полиномиальной хеш-функцией ограничения типа?
Я пытаюсь реализовать циклическую полиномиальную хеш-функцию в f#. Он использует побитовые операторы ^^^ и ‹‹‹. Вот пример функции, которая хэширует массив: let createBuzhash (pattern : array<'a>) = let n = pattern.Length let rec loop...
92 просмотров

Поиск хорошей хеш-функции для алгоритма поиска строки Рабина-Карпа
Какие хорошие хэш-функции можно использовать для реализации алгоритма поиска строки Рабина-Карпа ? Я знаю только полиномиальный хеш, но у него есть некоторые недостатки - в первую очередь, если хеширование выполняется по модулю 2 64 , существует...
1000 просмотров
schedule 26.01.2023

Почему алгоритму Рабина Карпа нужны 2 хеш-функции для строки шаблона? (а также для подстроки)
Например, у нас есть строка1:"AB", которая должна быть найдена в строке2:"CABA". Для строки1 h1=('A'*27 + 'B') и h2=('A'*29 + 'B'), а для строки2 мы вычисляем функции hash1 и hash2 (h2.1='C'*27 + 'A', h2.2='C'*29 + 'C'), и мы сравниваем результаты с...
413 просмотров
schedule 27.10.2022

Домашнее задание: Реализация Карпа-Рабина; Для хеш-значений по модулю q объясните, почему использовать q как степень двойки — плохая идея?
У меня есть двойная домашняя задача: внедрить Карпа-Рабина и запустить его на тестовом файле и второй части: Для хеш-значений по модулю q объясните, почему использовать q как степень двойки — плохая идея. Можете ли вы построить ужасный...
247 просмотров

Алгоритм Рабина-Карпа. Каков наихудший случай O (m * n) для данного ввода?
В коде Top Coder алгоритма RK: // correctly calculates a mod b even if a < 0 function int_mod(int a, int b) { return (a % b + b) % b; } function Rabin_Karp(text[], pattern[]) { // let n be the size of the text, m the size of the //...
1997 просмотров
schedule 01.08.2023

C26451: арифметическое переполнение с использованием оператора «+» для 4-байтового значения с последующим преобразованием результата в 8-байтовое значение.
Я пытаюсь написать программу, которая выполняет поиск по сценарию фильма, используя два разных алгоритма поиска строк. Однако предупреждение C26451: арифметическое переполнение с использованием оператора '+' для 4-байтового значения, а затем...
371 просмотров
schedule 11.09.2023

Go: полиномиальный отпечаток для сравнения строк
Я хочу реализовать скользящую хэш-функцию для сравнения строк (Рабин-Карп) Для этого я преобразовываю свою входную строку в фрагмент байтов (используя go unicode/utf8) и применяю к ней функцию «полиномиального снятия отпечатков пальцев»....
158 просмотров
schedule 29.05.2023

Leetcode 1044. Самая длинная повторяющаяся подстрока (небольшой вопрос с точки зрения модуля)
Я решал Leetcode 1044 и нашел ответ с помощью бинарного поиска и скользящего хеша. В основном используйте двоичный поиск, чтобы выбрать длину, а затем выполните поиск повторяющейся строки этой длины. Здесь в игру вступает скользящий хэш для...
58 просмотров
schedule 26.11.2022

c- Прокручивающийся хэш Карпа-Рабина - пропускать и добавлять части
Мне нужна небольшая помощь с определенной частью моего алгоритма Карпа-Рабина. Что я пытаюсь сделать, так это реализовать как версию с фиксированным sliding window , так и с отдельными частями append и skip . Sliding window работает отлично....
97 просмотров
schedule 17.02.2024

C ++ странные результаты - брутфорс быстрее Рабина-Карпа?
В настоящее время я работаю над программой поиска строк для модуля uni, и мне удалось успешно реализовать алгоритмы, по крайней мере, до такой степени, что они последовательно находят строку. Я реализовал Бойера Мура и Рабина Карпа. Я также применил...
409 просмотров