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

Imágen de perfil
Val: 2.239
Plata
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 (294 códigos)
11.499 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
11.500 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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4738