String matching with a dynamic pattern
Neste trabalho, nós estudamos variações do problema Casamento de Padrões: dadas duas strings, um padrão P e um texto T, queremos computar quantas vezes o padrão ocorre no texto. Nossa contribuição é focada no caso de um padrão dinâmico, ou seja, queremos suportar adição e remoção de caracteres no pa...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Estado: | Versión publicada |
| Fecha de publicación: | 2024 |
| País: | Brasil |
| Institución: | Universidade Federal de Minas Gerais (UFMG) |
| Repositorio: | Repositório Institucional da UFMG |
| Idioma: | inglés |
| OAI Identifier: | oai:repositorio.ufmg.br:1843/80790 |
| Acceso en línea: | http://hdl.handle.net/1843/80790 |
| Access Level: | acceso abierto |
| Palabra clave: | strings Algorithms suffix array string matching Computação – Teses Algoritmos de computador – Teses Complexidade computacional – Teses Processamento de vetor (Computação) – Teses Reconhecimento de padrões – Teses |
| Sumario: | Neste trabalho, nós estudamos variações do problema Casamento de Padrões: dadas duas strings, um padrão P e um texto T, queremos computar quantas vezes o padrão ocorre no texto. Nossa contribuição é focada no caso de um padrão dinâmico, ou seja, queremos suportar adição e remoção de caracteres no padrão, e após cada operação computar quantas vezes ele ocorre no texto. Nós mostramos um algoritmo simples usando Suffix Arrays que usa tempo O(log |T|), depois de tempo O(|T|) de pré-processamento. Nós mostramos como estender nossa solução para suportar remoção, transposição (mover a substring para outra posição) e cópia (copiar a substring e colar em uma posição específica) de substrings, na mesma complexidade de tempo. Nossa solução ainda pode ser estendida para suportar um texto online (adicionar caracteres em uma ponta do texto), mantendo as mesmas complexidades amortizadas de tempo. Também fazemos uma análise do tempo de execução do algoritmo proposto contra um algoritmo ingênuo, para demonstrar sua viabilidade. Também é discutida uma generalização do suffix array para várias strings. |
|---|