Código de Python - Algoritmo de búsqueda lineal

Imágen de perfil
Val: 1.386
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Algoritmo de búsqueda linealgráfica de visualizaciones


Python

Publicado el 3 de Agosto del 2018 por xve
3.086 visualizaciones desde el 3 de Agosto del 2018
El algoritmo de búsqueda lineal busca un elemento en un array empezando por el primer elemento hasta dar con el valor deseado.
Este método no es optimo cuando hay muchos elementos. En ese caso es mejor utilizar el algoritmo de búsqueda binaria (https://www.lawebdelprogramador.com/codigo/Python/4739-Algoritmo-de-busqueda-binaria.html).

No es necesario que el array o lista este ordenada.

Requerimientos

Python 3

Versión 1

Publicado el 3 de Agosto del 2018gráfica de visualizaciones de la versión: Versión 1
3.087 visualizaciones desde el 3 de Agosto del 2018
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
"""
El algoritmo de busqueda lineal busca un elemento en un array empezando
por el primer elemento hasta dar con el valor deseado.
Este metodo no es optimo cuando hay muchos elementos. En ese caso es mejor
utilizar el algoritmo de busqueda binaria.

No es necesario que el array o lista este ordenada.
"""
 
valores=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]
 
def busquedaLineal(buscar):
    """
    Funcion para la busqueda lineal
    
    Devuelve dos valores...
        - True o False para determinar si ha encontrado el elemento
        . Numero de interaciones en la lista o array para buscar el elemento
    """
 
    # recorremos el array uno a uno hasta encontrar el que buscamos
    for i in range(len(valores)):
        if valores[i]==buscar:
            return (True,i+1)
 
    return (False,i+1)
 
while True:
    buscar=input("indica un numero a buscar: ")
    if buscar=="":
        break
 
    try:
        buscar=int(buscar)
    except:
        print("El valor tienes que ser numero entre 0 y 9")
        continue
 
    conseguido,iteraciones=busquedaLineal(buscar)
    if conseguido:
        print("Encontrado en {} iteraciones".format(iteraciones))
    else:
        print("El valor introducido no se encuentra en la lista de valores. Se han necesitado {} iteraciones".format(iteraciones))



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4738