Publicado el 18 de Septiembre del 2020
657 visualizaciones desde el 18 de Septiembre del 2020
210,0 KB
6 paginas
Creado hace 9a (12/08/2015)
MÉTODOS DE ORDENAMIENTO
Ordenamiento Burbuja
#Definición de funciones
def Burbuja(a):
print "Proceso de ordenación:"
for i in range(1,len(a)):
for j in range(0,len(a)-i):
if(a[j]>a[j+1]):
aux=a[j]
a[j]=a[j+1]
a[j+1]=aux
print " Lista Ordenada "
print a
#Programa Principal
print "Ordenación Burbuja"
a = [5,7,3,4,8,10,23,6,2]
print a
B = Burbuja(a)
Ordenamiento por Selección
#Definición de funciones
def Selection(a):
print "Proceso de ordenamiento:"
Noé Jiménez Peñaloza
Programación Paralela y Distribuida
Facultad de Ingeniería UAEMex
for i in range(0,len(a)-1):
min=i
for j in range(i+1,len(a)):
if (a[min] > a[j]):
min=j
aux=a[min]
a[min]=a[i]
a[i]=aux
print"Paso.-",i+1
print a
print "Lista ordenada:"
print a
#Programa Principal
print "Selection Sort"
a=[320,96,16,90,120,80,200,64]
print "Lista original:"
print a
S=Selection(a)
Ordenamiento por Inserción
#Definicion de funciones
def Insertion(a):
print "Proceso de ordenamiento:"
Noé Jiménez Peñaloza
Programación Paralela y Distribuida
Facultad de Ingeniería UAEMex
for i in range(1,len(a)):
min=i
for j in range(i+1,len(a)):
if (a[min] > a[j]):
min=j
aux=a[min]
a[min]=a[i]
a[i]=aux
print"Paso.-",i+1
print a
print "Lista ordenada:"
print a
#Programa Principal
print "Ordenamiento por Insercion"
a=[4,7,12,45,12,4,7,8,1]
print a
I=Insertion(a)
Ordenamiento “Merge Sort”
#Definicion de funciones
def Merge(numbers):
def merge (first, second):
mergedList = []
Noé Jiménez Peñaloza
Programación Paralela y Distribuida
Facultad de Ingeniería UAEMex
while len(first) > 0 and len(second) > 0:
if (first[0] < second[0]):
mergedList.append(first.pop(0))
else:
mergedList.append(second.pop(0))
mergedList += first
mergedList += second
return mergedList
if (len(numbers) == 1): return numbers
middle = len(numbers) // 2
first = Merge(numbers[0:middle])
second = Merge(numbers[middle:])
return merge(first, second)
#Programa Principal
n=int(raw_input("Dame el numero de elementos que va contener la lista:"))
a=[]
for i in range(0,n):
x=raw_input("Dame el numero:")
a.append(x)
n1=Merge(a)
print n1
Noé Jiménez Peñaloza
Programación Paralela y Distribuida
Facultad de Ingeniería UAEMex
Ordenamiento “Quick Sort”
#Definicion de funciones
def quicksort (lista) :
ordena_quicksort(lista,0,len(lista)-1)
return lista
def ordena_quicksort (lista,izdo,dcho) :
if izdo<dcho :
pivote=lista[(izdo+dcho)/2]
i,d=izdo,dcho
while i<=d :
while lista[i]<pivote : i+=1
while lista[d]>pivote : d-=1
if i<=d :
lista[i],lista[d]=lista[d],lista[i]
i+=1
d-=1
if izdo<d : ordena_quicksort(lista,izdo,d)
if i<dcho : ordena_quicksort(lista,i,dcho)
return lista
#Programa Principal
n=int(raw_input("Dame el numero de elementos que va contener la lista:"))
a=[]
for i in range(0,n):
Noé Jiménez Peñaloza
Programación Paralela y Distribuida
Facultad de Ingeniería UAEMex
x=raw_input("Dame el numero:")
a.append(x)
nl=quicksort(a)
print nl
Noé Jiménez Peñaloza
Programación Paralela y Distribuida
Facultad de Ingeniería UAEMex
Comentarios de: Métodos de ordenamiento (0)
No hay comentarios