Hva er en boble sortering?
En boble sortering, eller synkende sortering, er en algoritme som sorterer lister i rekkefølge ved å jobbe innenfor listen for å bytte og sammenligne elementer. Prosessen kan finne sted flere ganger før en liste er i riktig rekkefølge. Sorten får navnet fra de små elementene som kontinuerlig stiger til toppen av listen som bobler i en drink. Det brukes oftest for å bringe orden til små lister.
Boblesorteringen fungerer metodisk, fra toppen av listen. Det vil starte med å sammenligne det første elementet med det andre og bytte det om nødvendig. Deretter fortsetter den nedover listen og lager en bytte igjen når den finner noe uaktuelt. Hver gang algoritmen lager en bytte, vil prosessen startes på nytt fra toppen eller bunnen av listen.
Boblesorter er fra sammenligningsgruppen for sorteringsalgoritmer. Denne typen algoritmer fungerer to elementer av gangen, og bestemmer par-for-par-basis hvilken av to verdier som er høyere eller om de er like. Denne typen kan gi et begrenset syn på et datasett, men det kan også gjøre det lettere å finjustere elementer i det settet. Andre algoritmetyper i sammenligningsgruppen inkluderer hurtig, flette, cocktail og syklus.
En annen enkel sammenligningssorteringsalgoritme som kalles insertion point antas å fungere mer effektivt, mens den bygger på et lignende enkelt konsept. I stedet for at elementene blir lagt om fra toppen, settes de i riktig rekkefølge i forhold til hverandre til hele settet er riktig ordnet. I mange tilfeller har denne typen kommet til å erstatte boblesorten i både utdanningsplaner og vanlig bruk.
Selv om algoritmen for boble sortering er enkel å bruke og forstå, har den en tendens til å være praktisk bare for små lister. Hastigheten og effektiviteten synker med en økning i antall elementer på listen. Mange programmerere synes det også er vanskelig å bruke denne relativt gamle metoden med nyere datasystemer da den ble opprettet før disse mer effektive maskinene eksisterte.
Det er noen metoder som kan brukes for å øke boblens sorteringseffektivitet. Den mest effektive ser ut til å være en metode der algoritmen fungerer mer smidig hvis de største elementene i listen er plassert tidlig i prosessen. Ved å ha denne basen på plass, kan det ta mye færre pasninger å fullføre bestillingen av resten av listen. Denne metoden for bestilling kan skrives inn i algoritmekoden.