datastruktur og algoritmer udvælgelse Sorter

reklamer

Selection sort er en simpel sortering algoritme. Denne sorteringsalgoritme er en sammenligningsbaseret algoritme på stedet, hvor listen er opdelt i to dele, den sorterede del i venstre ende og den usorterede del i højre ende. Oprindeligt er den sorterede del Tom, og den usorterede del er hele listen.

det mindste element vælges fra det usorterede array og byttes med det venstre element, og dette element bliver en del af det sorterede array. Denne proces fortsætter med at flytte usorteret array grænse med et element til højre.

denne algoritme er ikke egnet til store datasæt, da dens gennemsnitlige og værst tænkelige kompleksiteter er af kr(n2), hvor n er antallet af varer.

Hvordan Valg Sortering Virker?

overvej følgende afbildede array som et eksempel.

 usorteret Array

for den første position i den sorterede liste scannes hele listen sekventielt. Den første position, hvor 14 er gemt i øjeblikket, søger vi hele listen og finder ud af, at 10 er den laveste værdi.

 valg Sorter

så vi erstatter 14 med 10. Efter en iteration 10, som tilfældigvis er minimumsværdien på listen, vises i den første position på den sorterede liste.

 valg Sorter

For den anden position, hvor 33 er bosat, begynder vi at scanne resten af listen på en lineær måde.

 valg Sorter

vi finder ud af, at 14 er den næstlaveste værdi på listen, og den skal vises på andenpladsen. Vi bytter disse værdier.

 valg sortering

efter to iterationer placeres to mindste værdier i begyndelsen på en sorteret måde.

 valg sortering

den samme proces anvendes på resten af elementerne i arrayet.

Følgende er en billedlig skildring af hele sorteringsprocessen −

 Udvælgelsessortering

lad os nu lære nogle programmeringsaspekter af udvælgelsessortering.

algoritme

Step 1 − Set MIN to location 0Step 2 − Search the minimum element in the listStep 3 − Swap with value at location MINStep 4 − Increment MIN to point to next elementStep 5 − Repeat until list is sorted

pseudokode

procedure selection sort list : array of items n : size of list for i = 1 to n - 1 /* set current element as minimum*/ min = i /* check the element to be minimum */ for j = i&plus;1 to n if list < list then min = j; end if end for /* swap the minimum element with the current element*/ if indexMin != i then swap list and list end if end forend procedure

for at vide om implementering af valg sortering i C-programmeringssprog, Klik her.

annoncer

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

More: