Bubblesort is een eenvoudig sorteeralgoritme dat herhaaldelijk door de lijst gaat, paren van aangrenzende elementen vergelijkt en ze verwisselt als ze in de verkeerde volgorde staan. Dit proces wordt herhaald totdat de lijst volledig gesorteerd is. De naam “Bubblesort” komt van het idee dat de grotere (of kleinere, afhankelijk van de sorteervolgorde) elementen “omhoog bubbelen” naar hun juiste positie, net als belletjes in een glas cola.
Hier is een basisstappenplan voor Bubblesort:
Hoewel bubblesort eenvoudig te begrijpen en te implementeren is, heeft het een inefficiënte tijdscomplexiteit van O(n^2) in het slechtste en gemiddelde geval, wat betekent dat het langzaam kan zijn voor grote lijsten. Het is echter handig voor kleine lijsten of als een educatief hulpmiddel vanwege zijn eenvoud.
Schrijf een functie bubblesort met een lijst van getallen als parameter die een gesorteerde lijst als returnwaarde heeft.
>>> bubblesort([64, 34, 25, 12, 22, 11, 90])
[11, 12, 22, 25, 34, 64, 90]
>>> bubblesort([73, 41, 74, 72, 8, 10, 57, 84, 68, 21])
[8, 10, 21, 41, 57, 68, 72, 73, 74, 84]