O processo para encontrar a subsequência mais comum mais longa:
O processo simples para encontrar a subsequência mais comum é verificar cada caractere da String 1 e encontrar a mesma sequência na String 2, verificando cada caractere da String 2 um por um para ver se alguma substring é comum em ambas as seqüências. Por exemplo, digamos que temos um String 1 'ST1' e String 2 'ST2' com comprimentos A e B, respectivamente. Verifique todas as substâncias de 'st1' e inicie a iteração do 'ST2' para verificar se existe alguma substring de 'st1' como 'st2'. Comece combinando a substring do comprimento 2 e aumentando o comprimento em 1 em cada iteração, subindo para o comprimento máximo das strings.
Exemplo 1:
Este exemplo é sobre encontrar a substring mais comum com caracteres repetidos. O Python fornece métodos internos simples para executar quaisquer funções. No exemplo abaixo, fornecemos a maneira mais simples de encontrar a subsequência mais comum mais longa em 2 strings. Combinando o 'for' e 'while' loops é utilizado para obter a substring comum mais longa em uma string. Dê uma olhada no exemplo dado abaixo:
Def LongComsubs (ST1, ST2):A saída a seguir será produzida após a execução do código acima. Ele encontrará a substring mais comum e fornecerá como saída.
Exemplo 2:
Outra maneira de encontrar a mais longa substring comum é seguir a abordagem iterativa. A 'para' loop é usado para iteração, e uma condição 'se' corresponde à substring comum.
Def LongComsubs (A, B, M, N):Execute o código acima em qualquer intérprete Python para obter a saída desejada. No entanto, usamos a ferramenta Spyder para executar o programa para encontrar a substring mais comum em uma string. Aqui está a saída do código acima:
Exemplo 3:
Aqui está outro exemplo para ajudá -lo a encontrar a substring comum mais longa em uma string usando codificação Python. Este método é a maneira menor, mais simples e fácil de encontrar a subsequência mais comum mais longa. Dê uma olhada no código de exemplo fornecido abaixo:
Def Common (ST1, ST2):Abaixo você pode encontrar a saída do código fornecido acima
Usando este método, não retornamos a substring comum, mas a duração dessa substring comum. Para ajudá -lo a obter o resultado desejado, mostramos saídas e métodos para obter esses resultados.
A complexidade do tempo e a complexidade do espaço para encontrar a substring comum mais longa
Há algum custo a pagar para executar ou executar qualquer função; A complexidade do tempo é um desses custos. A complexidade do tempo de qualquer função é calculada analisando quanto tempo uma declaração pode levar para executar. Portanto, para encontrar todas as substringas em 'st1', precisamos de O (a^2), onde 'a' é o comprimento de 'st1' e 'o' é o símbolo da complexidade do tempo. No entanto, a complexidade do tempo da iteração e a descoberta se a substring existe em 'st2' ou não é o (m), onde 'm' é o comprimento de 'st2'. Portanto, a complexidade total do tempo de descobrir a substring comum mais longa em duas cordas é O (a^2*m). Além disso, a complexidade espacial é outro custo de executar um programa. A complexidade do espaço representa o espaço que um programa ou uma função manterá na memória durante a execução. Portanto, a complexidade do espaço de encontrar a subsequência mais comum é O (1), pois não requer espaço para executar.
Conclusão:
Neste artigo, aprendemos sobre os métodos de encontrar a substring mais comum em uma string usando a programação Python. Fornecemos três exemplos simples e fáceis para obter a mais longa substring comum no Python. O primeiro exemplo usa a combinação de 'for' e 'while loop. Enquanto no segundo exemplo, seguimos a abordagem iterativa usando o loop 'para' e 'se' lógica. Pelo contrário, no terceiro exemplo, simplesmente usamos a função embutida do Python para obter o comprimento da substring comum em uma string. Por outro lado, a complexidade do tempo de encontrar a substring comum mais longa em uma corda usando python é O (a^2*m), onde A e Ma são o comprimento das duas cordas; String 1 e String 2, respectivamente.