Skip to content

Commit 7bd3a9e

Browse files
committed
Binary Search
1 parent 843f8f5 commit 7bd3a9e

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

Desarrollo/21_BusquedaBinaria.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import random
2+
3+
def busqueda_binaria(lista, comienzo, final, objetivo):
4+
print(f'buscando {objetivo} entre {lista[comienzo]} y {lista[final - 1]}')
5+
if comienzo > final:
6+
return False
7+
8+
medio = (comienzo + final) // 2
9+
10+
if lista[medio] == objetivo:
11+
return True
12+
elif lista[medio] < objetivo:
13+
return busqueda_binaria(lista, medio + 1, final, objetivo)
14+
else:
15+
return busqueda_binaria(lista, comienzo, medio - 1, objetivo)
16+
17+
18+
if __name__ == '__main__':
19+
tamano_de_lista = int(input('De que tamano es la lista? '))
20+
objetivo = int(input('Que numero quieres encontrar? '))
21+
22+
lista = sorted([random.randint(0, 100) for i in range(tamano_de_lista)])
23+
24+
encontrado = busqueda_binaria(lista, 0, len(lista), objetivo)
25+
26+
print(lista)
27+
print(f'El elemento {objetivo} {"esta" if encontrado else "no esta"} en la lista')

0 commit comments

Comments
 (0)