# ==========================================
# 1. BUSQUEDA LINEAL Y BUSQUEDA BINARIA
# ==========================================
# Lista de precios ordenados
precios_ordenados = [60, 120, 150, 180, 220, 300]
# Algoritmo de busqueda lineal
def busqueda_lineal(lista, elemento):
for i in range(len(lista)):
if lista[i] == elemento:
return i
return -1
# Algoritmo de busqueda binaria
def busqueda_binaria(lista, elemento):
inicio = 0
fin = len(lista) - 1
while inicio <= fin:
medio = (inicio + fin) // 2
if lista[medio] == elemento:
return medio
elif lista[medio] < elemento:
inicio = medio + 1
else:
fin = medio - 1
return -1
# Buscar el precio de C$180
precio_buscar = 180
pos_lineal = busqueda_lineal(precios_ordenados, precio_buscar)
pos_binaria = busqueda_binaria(precios_ordenados, precio_buscar)
print("===== BUSQUEDA DE PRECIOS =====")
print("Precios disponibles:", precios_ordenados)
print(f"Busqueda lineal: C${precio_buscar} encontrado en el indice {pos_lineal}")
print(f"Busqueda binaria: C${precio_buscar} encontrado en el indice {pos_binaria}")
# ==========================================
# 2. ORDENAMIENTO POR METODO BURBUJA
# ==========================================
# Lista de precios desordenados
precios_desordenados = [220, 60, 300, 150, 180]
print("\n===== METODO BURBUJA =====")
print("Precios iniciales:", precios_desordenados)
n = len(precios_desordenados)
for i in range(n):
for j in range(0, n - i - 1):
# Intercambiar si el precio actual es mayor
# que el precio siguiente
if precios_desordenados[j] > precios_desordenados[j + 1]:
precios_desordenados[j], precios_desordenados[j + 1] = (
precios_desordenados[j + 1],
precios_desordenados[j]
)
print("Precios ordenados con Burbuja:", precios_desordenados)
# ==========================================
# 3. PREGUNTAS DE REFLEXION
# ==========================================
print("\n===== PREGUNTAS DE REFLEXION =====")
print("\n1. Que sucede si ejecutas la busqueda binaria")
print("en una lista que no esta ordenada?")
print("Respuesta: Puede no encontrar el elemento o devolver")
print("un resultado incorrecto, porque la lista debe estar ordenada.")
print("\n2. Si la lista tiene 1,000,000 de elementos,")
print("cuantas comparaciones realiza cada busqueda?")
print("Respuesta: La busqueda lineal puede realizar hasta")
print("1,000,000 de comparaciones.")
print("La busqueda binaria necesita como maximo 20 comparaciones.")
print("\n3. Por que el metodo Burbuja se llama asi?")
print("Respuesta: Porque los elementos mas grandes van avanzando")
print("hacia el final de la lista, como burbujas que suben.")
To embed this project on your website, copy the following code and paste it into your website's HTML: