Ordenar significa organitzar qualsevol dada en un ordre creixent o decreixent segons una relació lineal entre els elements. Aquest article sobre Bubble Sort in us ajudarà a entendre aquest concepte en detall.
En aquest bloc tractarem els temes següents:
- Què és el tipus Bubble?
- Passos per realitzar una classificació de bombolles
- Algorisme de classificació de bombolles
- Programa Python a implem ent Bubble Sort
Què és Bubble Sort?
La mena de bombolles també es coneix com a mena d’enfonsament. És un algorisme d'ordenació senzill que recorre la llista per ordenar-lo contínuament, comparant cada parell d'elements adjacents i canviant-los si no estan en l'ordre correcte. Els passos es repeteixen fins que no calen més intercanvis, que és quan s’ordena la llista.
Passos per realitzar una classificació de bombolles
- Compareu el primer i el segon element de la llista i canvieu si estan en un ordre incorrecte.
- Compareu el segon i el tercer element i canvieu-los si estan en un ordre incorrecte.
- Procediu de manera similar fins a l'últim element de la llista de manera similar.
- Seguiu repetint tots els passos anteriors fins que la llista estigui ordenada.
Els passos anteriors seran més clars mitjançant les visualitzacions següents:
Algorisme de classificació de bombolles
Vegem ara l’algorisme darrere de Bubble Sort.
Primer passi:
( 16,19 , 11,15,10) -> ( 16,19 , 11,15,10) - L’algorisme compara els dos primers elements i els swaps des de 19> 16
conversió de cadena a data en Java
(16, 19,11 , 15,10) -> (16, 11,19 , 15,10) - Intercanvi des de 19> 11
(16,11, 19,15 , 10) -> (16,11, 15,19 , 10) - Intercanvi des de 19> 15
(16,11,15, 19,10 ) -> (16,11,15, 10,19 ) - Ara, com que aquests elements ja estan en l'ordre correcte (19> 10), l'algorisme no els intercanvia.
Segon passi:
( 16,11 , 15,10,19) -> ( 11,16 , 15,10,19) - Intercanvi des de 16> 11
(11, 16,15 , 10,19) -> (11, 15,16 , 10,19) - Intercanvi des de 16> 15
(11,15, 16,10 , 19) -> (11,15, 10,16 , 19) - Intercanvi des de 16> 10
(11,15,10,16,19) -> (11,15,10,16,19)
El està ordenat, però el nostre algoritme no sap si està completat. Per tant, necessita una altra passada sencera sense cap permuta per saber que està ordenada.
Tercer passi:
(11, 15,10 , 16,19) -> (11, 15,10 , 16,19)
c ++ mitjançant l'espai de noms
(11, 15,10 , 16,19) -> (11, 10,15 , 16,19) - Intercanvi des de 15> 10
(11,10,15,16,19) -> (11,10,15,16,19)
(11,10,15,16,19) -> (11,10,15,16,19)
Quart Pas:
( 11,10 , 15,16,19) -> ( 10,11 , 15,16,19): permuta des de 11> 10
El resultat final és (10,11,15,16,19)
Ara codifiquem això:
Programa Python per implementar Bubble Sort
a = [16, 19, 11, 15, 10, 12, 14]
# bucle repetitiu len (a) (nombre d'elements) nombre de vegades per a j en l'interval (len (a)): #inicialment canviat és fals canviat = Fals i = 0 mentre que ia [i + 1]: #cambiant ], a [i + 1] = a [i + 1], a [i] #Changing the value of swapped swapped = True i = i + 1 # if swapped is false then the list is sorted # we can stop the loop si es canvia == Fals: imprimeix a trencar (a)
SORTIDA:
Al codi anterior, comparem els números adjacents i els intercanviem si no estan en l’ordre correcte. Repetiu el mateix procés len (a) diverses vegades. Hem assignat una variable 'swapped' i la hem convertit en 'True' si es canvien dos elements en una iteració. I si no hi ha intercanvi d’elements, la llista ja està ordenada i, per tant, no hi ha cap canvi en el valor del ‘canviat’ i podem trencar el bucle.
Amb això, arribem al final del bloc titulat 'Com implementar la classificació de bombolles a Python'. Espero que el contingut afegeixi valor al vostre coneixement de Python.
Assegureu-vos de practicar el màxim possible i de recuperar la vostra experiència.Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc “Com implementar l’ordenació de bombolles a Python” i us respondrem el més aviat possible.
Per obtenir coneixements en profunditat sobre Python juntament amb les seves diverses aplicacions, podeu inscriure-us a la publicació amb assistència les 24 hores del dia, els 7 dies de la setmana i accés permanent