jueves, 21 de febrero de 2013

Tarea2. Metodos de Codificación

Se realizo una simulación utilizando los métodos de búsqueda para palabras utilice el algoritmo de boyer-moore es el unico implementado.

Este algoritmo analiza la cadena de derecha a izquierda esto es eliminando el ultimo elemento del patrón de palabras después de esto se invierte este patrón y se van insertando todos los elementos que no esten en el patrón referente a la cadena de texto.

Y como resultado no obtuve nada porque aun no esta terminado :(

Código
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()
view raw moore.py hosted with ❤ by GitHub

1 comentario: