Prosessen for å finne den lengste vanlige etterfølgende:
Den enkle prosessen for å finne den lengste vanlige etterfølgelsen er å sjekke hvert tegn på streng 1 og finne den samme sekvensen i streng 2 ved å sjekke hvert tegn på streng 2 en etter en for å se om noen substring er vanlig i begge strengene. La oss for eksempel si at vi har en streng 1 'ST1' og String 2 'ST2' med henholdsvis lengde A og B. Kontroller alle underlagene til 'ST1' og begynn å iterere gjennom 'ST2' for å sjekke om det er noen substring av 'ST1' som eksisterer som 'ST2'. Begynn med å matche substring av lengde 2 og øke lengden med 1 i hver iterasjon, stiger til maksimal lengde på strengene.
Eksempel 1:
Dette eksemplet handler om å finne den lengste vanlige substringen med gjentatte tegn. Python gir enkle innebygde metoder for å utføre noen funksjoner. I eksemplet nedenfor har vi gitt den enkleste måten å finne den lengste vanlige etterfølgende i 2 strenger. Å kombinere 'for' og 'mens' løkker brukes til å få den lengste vanlige substring i en streng. Ta en titt på eksemplet gitt nedenfor:
Def Longcomsubs (ST1, ST2):Følgende utdata vil bli produsert etter å ha utført koden ovenfor. Det vil finne den lengste vanlige substringen og gi deg som produksjon.
Eksempel 2:
En annen måte å finne den lengste vanlige substring er å følge den iterative tilnærmingen. En 'for' sløyfe brukes til iterasjon, og en 'hvis' tilstand samsvarer med den vanlige substring.
def longcomsubs (a, b, m, n):Utfør koden ovenfor i en hvilken som helst Python -tolk for å få ønsket output. Imidlertid har vi brukt Spyder -verktøyet for å utføre programmet for å finne den lengste vanlige substringen i en streng. Her er utdataene fra ovennevnte kode:
Eksempel 3:
Her er et annet eksempel for å hjelpe deg med å finne den lengste vanlige substringen i en streng ved hjelp av Python -koding. Denne metoden er den minste, enkleste og enkleste måten å finne den lengste vanlige etterfølgelsen. Ta en titt på eksempelkoden gitt nedenfor:
def Common (ST1, ST2):Nedenfor kan du finne utdataene fra koden gitt ovenfor
Ved hjelp av denne metoden har vi ikke returnert den vanlige substringen, men lengden på den vanlige substringen. For å hjelpe deg med å få ønsket resultat, har vi vist både utganger og metoder for å få disse resultatene.
Tidskompleksiteten og romkompleksiteten for å finne den lengste vanlige substring
Det er noen kostnader å betale for å utføre eller utføre enhver funksjon; Tidskompleksitet er en av disse kostnadene. Tidskompleksiteten til enhver funksjon beregnes ved å analysere hvor mye tid en uttalelse kan ta for å utføre. For å finne alle underlagene i 'ST1', trenger vi O (A^2), der 'A' er lengden på 'ST1' og 'O' er symbolet på tidskompleksitet. Imidlertid er tidskompleksiteten til iterasjonen og å finne om substringen eksisterer i 'ST2' eller ikke er o (m), hvor 'm' er lengden på 'ST2'. Så den totale tidskompleksiteten ved å oppdage den lengste vanlige substring i to strenger er O (A^2*m). Dessuten er romkompleksiteten en annen kostnad for å utføre et program. Romkompleksiteten representerer rommet et program eller en funksjon vil holde i minnet under utførelse. Derfor er romkompleksiteten ved å finne den lengste vanlige etterfølgelsen O (1), da den ikke krever noe rom for å utføre.
Konklusjon:
I denne artikkelen har vi lært om metodene for å finne den lengste vanlige substringen i en streng ved hjelp av Python -programmering. Vi har gitt tre enkle og enkle eksempler for å få den lengste vanlige substringen i Python. Det første eksemplet bruker kombinasjonen av 'for' og 'mens loop. Mens vi er i det andre eksemplet, har vi fulgt den iterative tilnærmingen ved å bruke 'for' loop og 'hvis' logikk. Tvert imot, i det tredje eksemplet, brukte vi ganske enkelt Python innebygde funksjon for å få lengden på den vanlige substringen i en streng. I kontrast er tidskompleksiteten ved å finne den lengste vanlige substringen i en streng ved bruk av python O (a^2*m), hvor a og ma er lengden på de to strengene; streng 1 og streng 2, henholdsvis.