Last active
December 14, 2015 01:19
-
-
Save vane90/5005636 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sys import argv | |
import random | |
import time | |
n=int(argv[1]) #recibe parametros n= longitud de cadena donde se busca | |
m=int(argv[2]) #recibe parametros m=longitud de patron a buscar | |
def generan(tam): #Funcion para generar patron o texto | |
x=[] #Variable para guardar el texto o patron a generar | |
for i in range(tam): | |
letra=random.randint(97,122) #random de un numer0 de 97 a 122 | |
x.append(chr(letra)) #agrega letra | |
return x | |
def reversa(patron): #funcion para voltear palabra (forma reversa) | |
reg_p=[] | |
for i in reversed(patron): | |
reg_p.append(i) | |
return reg_p # regresa la palabra ya en reversa | |
def agregar(reg_patron,texto): | |
for i in texto: | |
if str(texto[i]) in reg_patron: | |
pass | |
else: | |
reg_patron.append(i) | |
print reg_patron | |
def b_moore(texto,patron): #algoritmo boye-moore | |
inicio=time.time() | |
intento = 0 | |
rev_patron=reversa(patron) #manda a poner de reversa la palabra | |
rev_patron=rev_patron.pop(0) | |
tabla=agregar(rev_patron,texto) | |
print rev_patron | |
def main(): | |
texto=generan(n) | |
print texto | |
patron = generar(m) | |
print patron | |
b_moore(texto,patron) | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment