article

Bubble sort är en mycket enkel sorteringsalgoritm men inte särskilt effektiv.

Metoden går ut på att man upprepade gånger går igenom det område i listan som ska sorteras och gör parvis jämförselser av intilligande element.

När två intilligande element ligger i fel ordning byter man plats på dem. Varje gång man gått igenom ett område kommer det sista talet att ha hamnat på rätt plats. Nästa gång reducerar man därför det område man går igenom med ett. Efter hand som man gör sorteringen kommer listan i botten bli alltmer korrekt och de överblivna talen "bubblar" uppåt, därav namnet på sorteringsalgoritmen.

Exempel: Sortering av en lista med 4 siffror


Ursprunglig lista: 2, 4, 1, 3

  • Jämför 2 och 4 — Ordningen stämmer, inget platsbyte behövs. Listan nu: 2, 4, 1, 3
  • Jämför nästa talpar, 4 och 1 — 1 ska vara först, byt plats på talen. Listan nu: 2, 1, 4, 3
  • Jämför sista talparet, 4 och 3 — 3 ska vara först, byt plats på talen. Listan nu: 2, 1, 3, 4
Nu har listan gåtts igenom en gång. Sista talet ligger nu på rätt plats och nästa genomgång behöver vi därför inte ha med detta tal.
  • Jämför 2 och 1 — 1 ska vara först, byt plats på talen. Listan nu: 1, 2, 3, 4
Vi ser nu att listan nu är rätt men ett datorprogram kan inte avgöra detta utan måste fortsätta tills hela sorteringen är klar.
  • Jämför 2 och 3 — Ordningen stämmer, inget platsbyte behövs. Listan nu: 1, 2, 3, 4
Vi har nu gått igenom listan igen. Nu behöver vi bara jämföra första talparet.
  • Jämför 1 och 2 — Ordningen stämmer, inget platsbyte behövs.
Sorteringen är nu klar. Resultat: 1, 2, 3, 4

Samma sortering fast presenterad i tabellform

Första jämförelseserien
2 4 1 3 Rätt ordning, inget platsbyte
2 4 1 3 Fel ordning, byt plats
2 1 4 3 Fel ordning, byt plats
Andra jämförelseserien
2 1 3 4 Fel ordning, byt plats
1 2 3 4 Rätt ordning, inget platsbyte
Tredje jämförelseserien
1 2 3 4 Rätt ordning, inget platsbyte

Bubbel sort behöver O(n²) jämförelser för att sortera n objekt.

Se även på Wikisource


Bubble sort i programkod

Sorteringsalgoritmer

ترتيب الفقاعات | Bubblesort | Bubble sort | Ordenamiento de burbuja | Kuplalajittelu | Tri à bulles | מיון בועות | Buborékrendezés | Bóluröðun | Bubble sort | バブルソート | Burbulo rūšiavimo algoritmas | Bubblesort | Sortowanie bąbelkowe | Bubble sort | Сортировка пузырьком | Bublinkové triedenie | Сортування стандартним обміном | 冒泡排序

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Bubble sort".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld