Skip to main content

Hvad er array -sortering?

Array -sortering er processen med at tage de enkelte elementer i en matrix og arrangere dem i en eller anden form for logisk rækkefølge i henhold til en række regler defineret af brugeren.Processen involverer at træde gennem matrixen, et element ad gangen og teste dette element mod de omgivende elementer for at bestemme, om det skal flyttes til et andet indeks inden for matrixen.Når man udfører array -sortering, er der flere algoritmer, der kan bruges, især når sorteringsbetingelserne er numeriske i modsætning til noget mere vilkårligt.De fleste array-sorterende algoritmer måles ved deres hastighed og effektivitet, hvor de langsomste algoritmer er den nemmeste at programmere, og det hurtigste er meget mere komplekst.

Den enkleste array-sorterende algor kaldes en boblekort, og det er også den langsomste.Processen begynder med en løkke, der træder gennem hvert element i matrixen.Det aktuelle element sammenlignes med det næste element i matrixen, og hvis det næste element er lavere i værdi end det aktuelle element, skiftes dataene på indekserne.Ulempen med en boble -slags er, at den skal sløjfe gennem matrixen flere gange for at fremstille alle de nødvendige swaps for at sortere matrixen.I de mest basale implementeringer løber den slags gennem hele Array One komplet tid for hvert element, den indeholder.

Et udvalg sorterer en algoritme, der udfører array -sortering på en lidt mere effektiv måde end en boble -sortering, men kræver stadig flere iterationergennem arrayet.Denne art starter med at sløjfe gennem matrixen for at finde det lavest værdsatte element.Dette element placeres derefter i det første indeks for matrixen, og nogle sporingsvariabler øges.Cyklussen gentages derefter, nu på udkig efter den næste laveste værdi, der derefter vil blive placeret i det andet indeks i matrixen.Processen fortsætter, indtil det højeste værdielement er placeret i det sidste indeks for matrixen.

En metode til array-sortering, der kan være effektiv, men sommetider kompleks til implementering er kendt som en quicksort.Quicksorting involverer at tage en værdi, der er midt i alle de mulige værdier, der er indeholdt i matrixen.Algoritmen går gennem alle elementerne i matrixen og sætter alle værdier større end medianantalet i slutningen af matrixen og lavere værdier i starten.Denne proces udføres rekursivt på blokke af matrixen, indtil hele arrayet til sidst sorteres.Hvis man antager, at den midterste værdi, der bruges til matrixen, er temmelig nøjagtig, kan dette være en meget hurtig måde at sortere.

En faktor, der kan påvirke en array-sorterende algoritme, er det middel, hvorpå dataene testes for ækvivalens.Enkle tal er lette at sammenligne for hvilken værdi er større, men dette er muligvis ikke tilfældet for komplekse dataklasser, hvor flere betingelser skal sammenlignes.Jo længere tid det tager for at sammenligne, om et element er større end eller mindre end et andet, jo længere vil det tage for algoritmen at sortere matrixen.