hvordan Worksuicksort fungerer

Quickuicksort (især in-place Quickuicksort) kan være lidt forvirrende, så lad os gå gennem et eksempel for at vise, hvordan denne sorteringsalgoritme fungerer.

Antag at vi er givet følgende array til at sortere:

lad os Nu vælge noget, der hedder en “omdrejningspunkt”., Målet er at omarrangere arrayet, så alle alle elementer, der er mindre end pivoten, er til venstre, og alle elementer, der er større end pivoten, er til højre. Valget af drejepunktet er vilkårligt; det kan være det første element i arrayet, det sidste element i arrayet eller endda et tilfældigt element! Til vores formål dog, lad os vælge omdrejningspunktet for at være det sidste element i arrayet, 5.,

Efter at omarrangere array omkring pivot punkt 5, vi skal opnå følgende matrix:

Vi så dem skal du følge ovenstående procedure for subarrays til venstre og til højre for den omdrejningspunkt.

subarrayet til venstre for drejepunktet er kun et element. Intet punkt i at sortere en række Længde en, så der er ikke noget at gøre her!,

venstre subarray

På den anden side, den subarray til højre for pivot punkt er ikke så trivielt. Efter proceduren beskrevet ovenfor, lad os vælge 7 for at være det nye pivotpunkt for denne subarray.,”>

højre subarray

Efter at omarrangere elementer af subarray omkring omdrejningspunkt, får vi følgende:

højre subarray omarrangeret omkring den nye omdrejningspunkt, 7

Ved at fortsætte rekursivt, og fusionerende venstre subarray med pivot og ret subarray, et sorteret array er vendt tilbage.,

The final sorted array: Quicksort(left subarray) + pivot + Quicksort(right subarray)

Articles

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *