/ / Sortera algoritmer som de är

Sortera algoritmer som de är

Sortering är ett arrangemangobjekt i en viss ordning, till exempel i fallande ordning eller stigande ordning. I allmänhet är beställningen av element den vanligaste hanteringen av data, vilket gör det lättare att hitta rätt information i framtiden. Detta gäller i stor utsträckning för olika databashanteringssystem. Sorteringsalgoritmer finns för närvarande i stort antal, även om de har liknande egenskaper (steg): Jämförelse och permutation av elementen i par tills sekvensen beställs.

array sorteringsalgoritm

Sorteringsalgoritmer kan klassificeras iinternt och externt. Den förra kännetecknas av det faktum att alla de element som ska sorteras placeras i minnet och kan få direktåtkomst till någon av dem. Det senare kan arbeta med data placeras i det externa minnet (en fil). Tillgång till sådana element kan implementeras sekventiellt.

Det är bekvämare att sortera objekten när de äri strukturen av en endimensionell grupp. Varje sådant element har ett serienummer och arrayelementet är tillgängligt med index. Sorteringsalgoritmer i detta fall visar sig vara enklaste och förståeliga för användning.

Tänk på en intern sorteringsalgoritm förfallande med bubbelmetoden och dess förbättrade version, som skiljer sig från tiden för sortering. Sortering med bubblemetoden har faktiskt många namn. Den kallas också den linjära sorteringsmetoden eller utbytessorteringsmetoden efter eget val. Men det är dock inget namn. Varför en bubbla? En gång i vattnet kommer luftbubblan att flyta upp, eftersom det är lättare. Så, till exempel, när du sorterar i stigande ordning kommer det minsta av elementen att visas högst upp.

sorteringsalgoritmer

Låt oss betrakta den första varianten av algoritmen för sortering av en array med en bubblemetod. Den verbala algoritmen för att sortera en array som har identifieraren mas och består av N-element ser så här ut:

1. Placera det största elementet i matrisen i stället för det första elementet (mas [1]). För detta kommer vi att jämföra det med alla resterande element (mas [2], mas [3] ... mas [N]). Om det visar sig att några av de återstående elementen är större än mas [1], är det nödvändigt att byta dem (via den extra variabla buf).

2. Efter att ha exkluderat element mas [1] från hänsyn, upprepa punkt 1 för element mas [2].

3. Dessa åtgärder bör upprepas för alla delar utom det sista.

Implementering av bubbelsorteringsalgoritmen i Pascal:

array sorteringsalgoritm

Om det andra alternativet (en förbättrad metodbubbla) kan vi säga att detta är en snabb sorteringsalgoritm. Så, om du försöker använda den för att sortera en redan sorterad array, kommer algoritmen att avsluta sitt arbete efter det första passera genom elementen i arrayen. Så vi kommer inte att spendera datorsystemets resurser och tid för meningslös jämförelse av elementen.

Här är implementeringen av denna sorteringsalgoritm för Pascals programmeringsspråk:

snabb sorteringsalgoritm

Så, sorteringsalgoritmer är ett sätt att beställa datasekvenser. När du väljer en viss algoritm bör du ta hänsyn till kostnaderna när det gäller tid och resurser i systemet.

Läs mer: