Вопросы с тегом «strings»

Вопросы о последовательностях символов, их наборах и их свойствах, а также использовании.

2
Эффективные структуры данных для построения быстрой проверки орфографии
Я пытаюсь написать проверку орфографии, которая должна работать с довольно большим словарем. Я действительно хочу, чтобы эффективный способ индексирования данных моего словаря использовался с использованием расстояния Дамерау-Левенштейна, чтобы определить, какие слова наиболее близки к слову с ошибкой. Я ищу структуру данных, которая дала бы мне лучший компромисс между сложностью пространства …


1
Существует ли структура данных «стек строк», которая поддерживает эти строковые операции?
Я ищу структуру данных , которая хранит множество строк над набором символов , способных выполнять следующие операции. Обозначим через D ( S ) в качестве структуры данных , хранящей множество строк S .ΣΣ\SigmaD(S)D(S)\mathcal{D}(S)SSS Add-Prefix-Setна : для некоторого множества T (возможно, пустых) строк, размер которых ограничен константой, а длины строк ограничены …

1
Самая длинная повторяющаяся (рассеянная) подпоследовательность в строке
Неформальная постановка задачи: Для строки, например, , мы хотим, чтобы некоторые буквы были окрашены в красный цвет, а некоторые - в синий (а некоторые нет), чтобы чтение только красных букв слева направо давало тот же результат, что и чтение только синих букв.ACCABBABACCABBABACCABBAB В примере мы могли бы покрасить их так:ACCABBABACCABBABA\color{blue}{C}\color{red}{CAB}B\color{blue}{AB} …

2
Эффективная структура картографических данных, поддерживающая приблизительный поиск
Я ищу структуру данных, которая поддерживает эффективный приблизительный поиск ключей (например, расстояние Левенштейна для строк), возвращая максимально возможное совпадение для клавиши ввода. Наилучшей структурой данных, которую я нашел до сих пор, являются деревья Буркхарда-Келлера , но мне было интересно, существуют ли другие / лучшие структуры данных для этой цели. Изменить: …

1
Сжатие доменных имен
Мне любопытно, как можно очень компактно сжать домен произвольного имени хоста IDN (как определено в RFC5890 ), и подозреваю, что это может стать интересной задачей. Хост Unicode или доменное имя (U-метка) состоит из строки символов Unicode, обычно ограниченных одним языком в зависимости от домена верхнего уровня (например, греческими буквами ниже …

1
У каждой достаточно большой строки есть повторы?
Пусть - некоторый конечный набор символов фиксированного размера. Пусть α некоторая строка над Σ . Мы говорим, что непустая подстрока β в α является повторением, если β = γ γ для некоторой строки γ .ΣΣ\Sigmaαα\alphaΣΣ\Sigmaββ\betaαα\alphaβ=γγβ=γγ\beta = \gamma \gammaγγ\gamma Теперь мой вопрос заключается в следующем: Для каждого существует такое n ∈ …

1
Как время выполнения алгоритма Укконена зависит от размера алфавита?
Меня интересует вопрос об асимптотическом времени выполнения алгоритма Укконена , возможно, самого популярного алгоритма построения суффиксных деревьев за линейное (?) Время. Вот цитата из книги «Алгоритмы на строках, деревьях и последовательностях» Дэна Гасфилда (раздел 6.5.1): »... в Ахо-Corasick, Weiner, Ukkonen алгоритмы и McCreight все либо требуют пространство, илиΘ(m|Σ|)Θ(m|Σ|)\Theta(m|\Sigma|) временные рамки …

3
динамическое программирование упражнений на струнах
Я работал над следующей проблемой из этой книги . Определенный язык обработки строк предлагает примитивную операцию, которая разбивает строку на две части. Поскольку эта операция включает в себя копирование исходной строки, для строки длиной n требуется n единиц времени, независимо от местоположения среза. Предположим теперь, что вы хотите разбить строку …

7
Как проверить, являются ли две строки перестановками друг друга, используя O (1) дополнительное пространство?
Учитывая две строки, как вы можете проверить, являются ли они перестановкой друг друга, используя пространство O (1)? Модификация строк никоим образом не допускается. Примечание: O (1) пробел по отношению как к длине строки, так и к размеру алфавита.

1
Изменить расстояние списка с уникальными элементами
Расстояние редактирования Левенштейна-расстояния между списками является хорошо изученной проблемой. Но я не могу найти много о возможных улучшениях, если известно, что ни один элемент не встречается более одного раза в каждом списке . Также предположим, что элементы сопоставимы / сортируемы (но списки для сравнения не сортируются с самого начала). В …

2
Сравнение алгоритма Ахо-Корасика и алгоритма Рабина-Карпа
Я работаю над алгоритмами поиска строк, которые поддерживают поиск по нескольким шаблонам. Я нашел два алгоритма, которые кажутся наиболее сильными кандидатами с точки зрения времени выполнения, а именно: Aho-Corasick и Rabin-Karp . Однако я не смог найти исчерпывающего сравнения между этими двумя алгоритмами. Какой алгоритм более эффективен? Кроме того, какой …

5
Частота слова с упорядочением по сложности O (n)
Во время собеседования на должность разработчика Java меня спросили следующее: Напишите функцию, которая принимает два параметра: Строка, представляющая текстовый документ и целое число, представляющее количество возвращаемых предметов. Реализуйте функцию так, чтобы она возвращала список Строк, упорядоченных по частоте слова, первое из которых встречается чаще всего. Ваше решение должно выполняться за …

1
Сложность наивного алгоритма нахождения самой длинной подстроки Фибоначчи
Учитывая два символа и , давайте определим строку Фибоначчи следующим образом:б кaa\text{a}бb\text{b}Кkk F( к ) = ⎧⎩⎨бaF( k - 1 ) ⋆ F( к - 2 )если к=0если к=1ещеF(k)={bif k=0aif k=1F(k−1)⋆F(k−2)else F(k) = \begin{cases} \text{b} &\mbox{if } k = 0 \\ \text{a} &\mbox{if } k = 1 \\ F(k-1) \star …

2
Алгоритм быстрого k несоответствия строк
Я ищу быстрый алгоритм сопоставления строк k-несоответствие. Учитывая строку шаблона P длины m и текстовую строку T длины n, мне нужен быстрый (линейное время) алгоритм, чтобы найти все позиции, где P соответствует подстроке T с не более чем k несоответствиями. Это отличается от проблемы k-отличий (редактировать расстояние). Несовпадение подразумевает, что …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.