07 - Algoritmos básicos em Strings
O problema básico da busca em strings é, dado um texto T
, encontrar a primeira (ou todas) ocorrência de uma uma consulta Q
. Apesar de simples, esse problema possui diversos algoritmos complexos e é um dos problemas fundamentais na área de algoritmos.
Atenção
Os algoritmos que veremos nessa seção são muito básicos. No 5o semestre iremos expandir esse assunto.
Prefixos e sufixos
Vamos começar com algumas definições:
- Uma string
Q
de tamanhoN
é prefixo de uma stringS
se os primeirosN
caracteres deS
são iguais aQ
- Uma string
Q
de tamanhoN
é sufixo de uma stringS
se os últimosN
caracteres deS
são iguais aQ
Apesar dessas definições não serem complexas, elas já direcionam bem a criação de programas que implementem essse comportamento.
Exercício 1
Exercício 2
Buscando termos
Vamos começar já escrevendo um algoritmo para esse problema!
Exercício 3
Acabou os algoritmos, agora vamos implementá-los no Módulo 0 - parte 3