En streng i C er en vifte af tegn. C strenge kan være bogstaver, tal eller symboler, tilfældig tekst eller ord, men alle strenge i denne programmeringssprog opsige med et null- tegn. Programmering i C, kan du oprette strenge eller manipulere dem ved hjælp af forskellige C-funktioner . En understreng eller undersekvens er en del af et større streng . Der er flere matematiske værktøjer til at afgøre, om to strenge deler en fælles delstreng . Delstrenge
For at kvalificere sig som en delstreng , skal tegn i en kortere snor vises i en længere streng i orden , men ikke nødvendigvis sammen. For eksempel, " tiger " er en delstreng af "tiny Sylteagurk " som " t ", "Jeg ", " g ", " e" og "r" alle vises i denne rækkefølge den større streng . Hvis en hel streng dukker op inde i en anden , større streng , jo mindre streng er en undersekvens af den store streng . Med et par korte strenge, er plukke en fælles delsekvens simpelt, men som strenge bliver længere , er det sværere at gøre det med det blotte øje.
Suffix Tree
en måde at matche understrenge i C er ved at skabe et suffiks træ. Et suffix træet tager en streng af tegn som sin rod, så grene ud for at vise alle mulige substring . Hvis " tiger " er roden, grenene omfatte " tig ", " ge " og " is ", som hver så grene yderligere, indtil du kommer ned til single- tegn blade. Du kan oprette et suffiks træ automatisk ved hjælp af en algoritme og derefter bruge en anden algoritme til at matche de afdelinger i to strenge , og identificere fælles sekvenser.
Funktioner
C programmører har flere funktioner , de kan bruge til at sammenligne understrenge . Hvis du ønsker at vide, hvis strengen S2 er en delsekvens af S1 , " strstr " finde S2 inde S1 , hvis det er der. Hvis de to strenge starte på samme måde, " Strspn " fortæller dig, hvor længe S1 forbliver ligne S2 og det punkt, hvor den afviger . Du kan bruge andre funktioner til at identificere det første tegn i S1 deles med S2 , eller hvor meget af S1 har ingen S2 tegn i det overhovedet .
Matchende
Programmører har udviklet en række algoritmer til string matching, hvilket har anvendelser i områder såsom DNA forskning og tekstanalyse . Hvis du ønsker at udvikle en algoritme af dine egne til at matche delstrenge i C, et spørgsmål at overveje, er , hvilke oplysninger du har brug for . Du skal have en bestemt algoritme , hvis du ønsker at vide, hvilke tegn de to strygere aktie, samt en anden algoritme , hvis du kun har brug for at vide, hvor mange tegn strengene har til fælles. Leder du efter en eksakt match er en anden proces i forhold til at se efter en delsekvens hvor matchende tegn har andre indskudte tegn.