Algoritmos de Busca – Python
Busca Linear
# Busca Linear percorrer a Lista toda e retornar TRUE ou index # Busca Linear com "in" Lista = [6, 5, 2, 3] 5 in Lista # Retornará TRUE 4 in Lista # Retornará FALSE # Busca Linear com "index()" Lista = [6, 5, 2, 3] Lista.index(5) # Retornará 1, ou seja, 2º posição Lista.index(4) # Retornará ERROR
Busca Binária
Busca Binária para listas ordenadas
# Busca Binária (Lista com elementos ordenados)
Lista = [16, 37, 10, 56, 5, 12, 13, 41, 43]
Lista.sort() # Ordenar Lista
# Função Busca Binária
def busca_binaria(lista, x, inicio, fim):
meio = (inicio + fim) // 2
if x == lista[meio]:
return meio
if x < lista[meio]:
return busca_binaria(lista, x, inicio, meio-1)
if x > lista[meio]:
return busca_binaria(lista, x, meio+1, fim)
print(Lista)
buscar_elemento = 12
ultima_posicao=len(Lista)-1
print(
busca_binaria(Lista, buscar_elemento, 0, ultima_posicao)
)
