Está en la página 1de 2

from timeit import default_timer

# Metodo de la burbuja basico


def OrdenamientoporBurbuja(lista):
n=len(lista)
for i in range(0,n-1):
for j in range(n-1):
if (lista[j] > lista[j+1]):
lista[j], lista[j+1]=lista[j+1], lista[j]
return lista

# Metodo de la burbuja Optimizado 1


def Ordenamiento_Burbuja_Optimizado1(lista):
n =len(lista)
intercambio=True

while (intercambio):
intercambio=False

for j in range(n-1):
if (lista[j] > lista[j+1]):
lista[j], lista[j+1]=lista[j+1], lista[j]
intercambio=True
return lista

# Metodo de la burbuja Optimizado 2


def Ordenamiento_Burbuja_Optimizado2(lista):
n =len(lista)
intercambio=True
NroIteracion=0
while (intercambio):
intercambio=False
for j in range(n-NroIteracion-1):
if (lista[j] > lista[j+1]):
lista[j], lista[j+1]=lista[j+1], lista[j]
intercambio=True
NroIteracion+=1
return lista

#Programa principal
#lista=[5,3,6,-2,4]
#print("lista original:", lista)
import random

n= 10
lista = []
for i in range(n):
lista.append(random.randint(1,100))

print("lista original:", lista)


print("lista ordenada", OrdenamientoporBurbuja(lista))

# Medir el tiempo de ejecución de ordenacion basica


horainicio = default_timer()
#ordenbasico = OrdenamientoporBurbuja(lista)
horafin = default_timer()
transcurridotiempo = horafin - horainicio
#print("lista ordenada Basica", ordenbasico)
print(f"El tiempo transcurrido de lista ordenada Basica es:", transcurridotiempo)

# Medir el tiempo de ejecución de ordenacion optimizado 01


horainicio = default_timer()
#ordenOptim1 = Ordenamiento_Burbuja_Optimizado1(lista)
horafin = default_timer()
transcurridotiempo = horafin - horainicio
#print("lista ordenada optimizada 01", ordenOptim1)
print(f"El tiempo transcurrido de lista ordenada optimizada 01 es:", transcurridotiempo)

# Medir el tiempo de ejecución de ordenacion optimizado 02


horainicio = default_timer()
#ordenOptim2 = Ordenamiento_Burbuja_Optimizado2(lista)
horafin = default_timer()
transcurridotiempo = horafin - horainicio
#print("lista ordenada optimizada 02", ordenOptim2)
print(f"El tiempo transcurrido de lista ordenada optimizada 02 es:", transcurridotiempo)

También podría gustarte