A string em C é um array de caracteres. Strings C podem ser letras , números ou símbolos , texto aleatório ou palavras , mas todas as cordas nesta linguagem de programação termina com um caractere nulo . Programação em C , você pode criar seqüências ou manipulá-los usando várias funções C . A substring ou subseqüência é uma parte de uma cadeia maior. Existem várias ferramentas matemáticas para determinar se duas seqüências de compartilhar uma subseqüência comum. Substrings
Para se qualificar como um substring , os caracteres de uma cadeia mais curta deve aparecer em uma seqüência mais longa em ordem, mas não necessariamente juntos. Por exemplo, " tigre " é uma substring de " pequena gostoso" como "t", "i ", "g ", "e" e "r" todos aparecem nessa ordem na a string maior. Se uma cadeia inteira aparece dentro de outra , maior cadeia de caracteres, a string menor é uma subsequência da grande corda. Com um par de seqüências curtas , escolhendo uma subsequência comum é simples, mas como cadeias de crescer mais , é mais difícil fazer isso com a olho nu.
Sufixo Árvore
uma maneira de combinar textos no C é através da criação de uma árvore de sufixos . Uma árvore de sufixos leva uma seqüência de caracteres como sua raiz, em seguida, ramifica-se para mostrar todos os substring possível. Se o " tigre " é a raiz , ramos incluem " tig ", "ge" e "er ", cada um dos quais , em seguida, ramos mais até você começar a única personagem sai. Você pode criar uma árvore de sufixos automaticamente usando um algoritmo e , em seguida, usar um outro algoritmo para coincidir com os ramos de duas cordas e identificar sequências comuns.
Funções
C programadores têm várias funções que podem usar para comparar substrings . Se você quer saber se string S2 é uma subsequência de S1, " strstr " vai encontrar dentro S2 S1 se ele está lá. Se as duas cordas começar da mesma maneira ", strspn " diz-lhe quanto tempo S1 fica parecendo S2 eo ponto em que diverge . Você pode usar outras funções para identificar o primeiro caractere em S1 compartilhado com S2 , ou quanto de S1 não tem personagens S2 nele em tudo.
Matching
Programadores têm desenvolvido uma série de algoritmos de correspondência de string, que tem aplicações em áreas como a pesquisa de DNA e análise de texto . Se você deseja desenvolver um algoritmo de sua própria para substrings em C , uma questão a considerar é que a informação que você precisa. Você precisa de um algoritmo especial, se você quer saber quais os personagens das duas seqüências de compartilhar, e um algoritmo diferente , se você só precisa saber quantos caracteres as cordas têm em comum . À procura de uma correspondência exata é um processo diferente em comparação com à procura de uma subsequência , onde os personagens correspondentes têm outros personagens interposta .