0% encontró este documento útil (0 votos)
8 vistas1 página

Análisis y Ejemplo del Algoritmo Bubble Sort

El documento describe el algoritmo de ordenamiento burbuja (bubble sort). Funciona realizando n-1 pasadas sobre una lista, donde en cada pasada se comparan y potencialmente intercambian elementos adyacentes para "burbujear" el mayor elemento a la parte superior de la lista. Cada pasada reduce el tamaño de la sublista no ordenada por uno.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas1 página

Análisis y Ejemplo del Algoritmo Bubble Sort

El documento describe el algoritmo de ordenamiento burbuja (bubble sort). Funciona realizando n-1 pasadas sobre una lista, donde en cada pasada se comparan y potencialmente intercambian elementos adyacentes para "burbujear" el mayor elemento a la parte superior de la lista. Cada pasada reduce el tamaño de la sublista no ordenada por uno.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

def bubbleSort(A): def bubbleSort2Me(A):

for i in range(1,len(A)): bandera=True


print('PASADA',i) pasada=0
while pasada<len(A)-1 and bandera:
for j in range(len(A)-1): bandera=False
for j in range(len(A)-pasada-1):
if A[j]>A[j+1]: if(A[j]>……..):
temp = A[j] bandera=True
A[j] = A[j+1] ……=A[j]
A[j+1] = temp A[j]=………
A[j+1]=……
print(A) pasada=pasada+1
A=[5,4,3,2,1] A=["H","A","N","Z","V","E","C"]
bubbleSort(A) print(A)
print("\n") bubbleSort2Me(A)
print(A) print(A)
código 1
Actividad: Realiza un análisis del código, llena los espacios
punteados, y explica la diferencia con respecto al código 1.
Algoritmo
• Para una lista a de n elementos numerados de 0 a n-1, el def bubbleSort(A):
algoritmo requiere n-1 pasadas. for i in range(len(A)-1):
print('PASADA',i)
• Por cada pasada se comparan elementos adyacentes (parejas for j in range(len(A)-i-1):
sucesivas) y se intercambian sus valores cuando el primer elemento es
mayor que el segundo. Al final de cada pasada el elemento mayor se if A[j]>A[j+1]:
dice que se ha burbujeado hasta la cima de la sub-lista actual. temp = A[j]
A[j] = A[j+1]
• Sea la lista a0, a1, a2 ... an-1, entonces: A[j+1] = temp
print(A)
• En la pasada 0 se comparan elementos adyacentes (a0, a1), (a1, A=[5,4,3,2,1]
a2), (a2, a3), ... (an-2, an-1). bubbleSort(A)
print("\n")
• Se realizan n-1 comparaciones por cada pareja (ai, ai+1) y se print(A)
intercambian si ai+1 < ai. Al final de la pasada el elemento mayor de la
lista estará situado en la posición n-1.
Actividad: Analiza el siguiente código, realiza una prueba de
• En la pasada 1 se realizan las mismas comparaciones e escritorio.
intercambios, terminando con el segundo elemento de mayor valor el
cual estará situado en la posición n-2.
• Se realizan las siguientes pasadas de forma similar y el proceso
termina con la pasada n-1 donde se tendrá al elemento más pequeño
en la posición 0.

También podría gustarte