Vad är Array sortering?

Array sortering är processen att ta de enskilda elementen i en matris och ordna dem i någon typ av logisk ordning enligt en serie regler som definieras av användaren. Processen innebär att man går genom matrisen, ett element åt gången, och testar det elementet mot de omgivande elementen för att avgöra om det måste flyttas till ett annat index i arrayen. När du utför matrisortering finns det flera algoritmer som kan användas, särskilt när sorteringsvillkoren är numeriska i motsats till något mer godtyckligt. De flesta sorteringsalgoritmer mäts med deras hastighet och effektivitet, varvid de långsammaste algoritmerna är de enklaste att programmera och de snabbaste är mycket mer komplexa.

Den enklaste array-sorteringsalgoritmen kallas en bubbelsortering, och den är också den långsammaste. Processen börjar med en slinga som går igenom varje element i matrisen. Det nuvarande elementet jämförs med nästa element i matrisen och om nästa element har lägre värde än det aktuella elementet byts data vid indexen. Nackdelen med en bubbelsorter är att den måste slinga igenom matrisen flera gånger för att göra alla nödvändiga byten för att sortera matrisen. I de mest grundläggande implementeringarna kommer sorteringen att slinga genom hela matrisen en fullständig tid för varje element som den innehåller.

En urvalssortering använder en algoritm som utför matrisortering på ett lite mer effektivt sätt än en bubbelsortering men kräver fortfarande flera iterationer genom matrisen. Denna sortering börjar med att slinga genom matrisen för att hitta det lägsta värderade elementet. Detta element placeras sedan i det första indexet i arrayen och vissa spårningsvariabler ökas. Cykeln upprepas sedan och letar efter det nästa lägsta värdet som sedan kommer att placeras i det andra indexet i arrayen. Processen fortsätter tills elementet med det högsta värdet placeras i det sista indexet i matrisen.

En metod för matrisortering som kan vara effektiv men ibland komplex att implementera är känd som en kvicksort. Quicksorting innebär att man tar ett värde som är mitt i alla möjliga värden som finns i matrisen. Algoritmen går igenom alla elementen i matrisen och sätter alla värden större än medianantalet i slutet av arrayen och lägre värden i början. Denna process utförs rekursivt på block i matrisen tills, i slutet, hela matrisen sorteras. Förutsatt att mittvärdet som används för matrisen är ganska exakt, kan detta vara ett mycket snabbt sätt att sortera.

En faktor som kan påverka en array-sorteringsalgoritm är det sätt på vilket data testas för likvärdighet. Enkla siffror är lätta att jämföra för vilket värde är större, men det kanske inte är fallet för komplexa dataklasser där flera villkor behöver jämföras. Ju längre tid det tar att jämföra om ett element är större än eller mindre än ett annat, desto längre tid tar det för algoritmen att sortera arrayen.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?