Sortering af et sæt elementer på en liste er en opgave, der ofte forekommer i computerprogrammering. Ofte kan et menneske udføre denne opgave intuitivt. Dog skal et computerprogram følge en række nøjagtige instruktioner for at udføre dette. Denne sekvens af instruktioner kaldes en algoritme. En sorteringsalgoritme er en metode, der kan bruges til at placere en liste over uordnede emner i en ordnet rækkefølge. Bestillingssekvensen bestemmes af en nøgle. Der findes forskellige sorteringsalgoritmer, og de er forskellige med hensyn til effektivitet og ydeevne. Nogle vigtige og velkendte sorteringsalgoritmer er boblesortering, markeringssortering, indsættelsessortering og hurtig sortering.
Bubble Sort
Bubblesorteringsalgoritmen fungerer ved gentagne gange at udskifte tilstødende elementer, der ikke er i rækkefølge, indtil hele listen over elementer er i rækkefølge. På denne måde kan elementer ses som at boblende op på listen i henhold til deres nøgleværdier.
Den primære fordel ved boblesorteringen er, at den er populær og let at implementere. Endvidere byttes elementer i boblen på plads uden brug af ekstra midlertidig opbevaring, så pladsbehovet er på et minimum. Den største ulempe ved boblesorten er det faktum, at det ikke passer godt med en liste, der indeholder et stort antal genstande. Dette skyldes, at boblesorteringen kræver n-kvadreret behandlingstrin for hvert n antal elementer, der skal sorteres. Som sådan er boblesorteren for det meste velegnet til akademisk undervisning, men ikke til applikationer i det virkelige liv.
Valgssortering <<> Valgsorten fungerer ved gentagne gange at gå igennem listen over emner, hver gang du vælger en artikel i henhold til til dens rækkefølge og placering i den rigtige position i sekvensen.
Den største fordel ved markeringen er, at den fungerer godt på en lille liste. Eftersom det er en stedet-sorteringsalgoritme, kræves der heller ikke yderligere midlertidig lagring ud over, hvad der er nødvendigt for at have den originale liste. Den primære ulempe ved udvælgelsessortet er dens dårlige effektivitet, når man håndterer en enorm liste over genstande. I lighed med boble sortering kræver udvælgelsessortering n-kvadratisk antal trin til sortering af n elementer. Derudover påvirkes dens ydeevne let af den oprindelige bestilling af emnerne inden sorteringsprocessen. På grund af dette er markeringen kun velegnet til en liste over få elementer, der er i tilfældig rækkefølge. uordnet rækkefølge i sin korrekte position.
Den største fordel ved indsættelsessorteringen er dens enkelhed. Det udviser også en god præstation, når man beskæftiger sig med en lille liste. Indsættelsessortering er en stedet-sorteringsalgoritme, så pladsbehovet er minimalt. Ulempen ved indsættelsessorteringen er, at den ikke fungerer så godt som andre, bedre sorteringsalgoritmer. Med n-kvadratiske trin, der kræves for hvert n-element, der skal sorteres, fungerer indsættelsessortet ikke godt med en enorm liste. Derfor er indsættelsessorteringen især nyttig, når du sorterer en liste over få elementer.
Hurtig sortering
Den hurtige sortering fungerer på divide-and-conquer-princippet. Først opdeler den listen over elementer i to underlister baseret på et pivotelement. Alle elementer i den første sublist er arrangeret til at være mindre end drejepinden, mens alle elementer i den anden sublist er indrettet til at være større end drejepoten. Den samme opdelings- og arrangeringsproces udføres gentagne gange på de resulterende sublister, indtil hele listen over poster er sorteret.
Den hurtige sortering betragtes som den bedste sorteringsalgoritme. Dette er på grund af dets betydelige fordel med hensyn til effektivitet, fordi det er i stand til at håndtere en enorm liste over varer. Fordi det sorteres på plads, kræves der heller ikke yderligere lagerplads. Den lille ulempe ved hurtig sortering er, at dens worst-case-ydelse svarer til gennemsnitlige ydeevne for boblen, indsættelsen eller valgene. Generelt producerer hurtig sortering den mest effektive og udbredte metode til sortering af en liste over en hvilken som helst vare størrelse.
Sidste artikelHvilke formler skal du huske til matematik GED-eksamen?
Næste artikelVidenskabsuddannelsens specialemner