Búsqueda lineal

De WikiEducator
Saltar a: navegación, buscar


while

def busqueda_lineal(v, L):
    '''Devuelve el índice de la primera ocurrencia del valor v en la lista L 
    o devuelve len(L) si v no está en L
    '''
    i = 0
    while i != len(L) and L[i] != v:
        i += 1
    return i

for

def busqueda_lineal(v, L):
    '''Devuelve el índice de la primera ocurrencia del valor v en la lista L 
    o devuelve len(L) si v no está en L
    '''
    i = 0
    for valor in L:
        if valor == v:
            return i
        i += 1
    return len(L)

for + enumerate

def busqueda_lineal3(v, L):
    '''Devuelve el índice de la primera ocurrencia del valor v en la lista L 
    o devuelve len(L) si v no está en L
    '''
    i = 0
    for i, valor in enumerate(L):
        if valor == v:
            return i
    return len(L)

centinela

def busqueda_lineal(v, L):
    L.append(v)
    i = 0
    while L[i] != v:
        i += 1
    L.pop()
    return i

timing

def time_it(busqueda, v, L):
    tini = time.time()
    busqueda(v, L)
    tfin = time.time()
    return (tfin - tini) * 1000