Python - BUSQUEDA BINARIA

 
Vista:

BUSQUEDA BINARIA

Publicado por VALENTIN (1 intervención) el 27/01/2023 11:49:39
HOLA!

Como están?

Alguien sabe como hacer una búsqueda binaria? Hice varias pruebas pero no me funciona ni copiando el codigo de youtube.

Un ejemplo:


Arreglo = [1, 0, 16, 3, 35, 67, 101, 2, 5, 6, 23, 54, 22, 19, 20, 79, 100]
Arreglo.sort()
print(Arreglo)


buscado = 23



def busqueda_Binaria(lista, elemento):

Inicio = 0
Final = len(list)-1

while Inicio <= final:

Medio = (Inicio + Final) // 2

if lista[Medio] == elemento:
return True
elif lista[Medio] < elemento:
Inicio = Medio + 1
elif lista[Medio] > elemento:
Final = Medio - 1
return False



print(busqueda_Binaria(buscado))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Camilo
Val: 40
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

BUSQUEDA BINARIA

Publicado por Camilo (13 intervenciones) el 27/01/2023 15:36:25
Buenos días VALENTIN

Se debe tener cuidado con el nombre de las variables, por ejemplo en algunas partes se coloca "final" y en otras "Final".

Aquí dejo el código:

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
Arreglo = [1, 0, 16, 3, 35, 67, 101, 2, 5, 6, 23, 54, 22, 19, 20, 79, 100]
Arreglo.sort()
print(Arreglo)
 
buscado = 101
 
def busqueda_Binaria(lista, elemento):
 
    inicio = 0
    final = len(lista)-1
 
    while inicio <= final:
 
        medio = (inicio + final) // 2
 
        if lista[medio] == elemento:
            return True
        elif lista[medio] < elemento:
            inicio = medio + 1
        elif lista[medio] > elemento:
            final = medio - 1
 
    return False
 
 
print(busqueda_Binaria(Arreglo, buscado))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar