cum funcționează Quicksort

Quicksort (în special în loc Quicksort) poate fi un pic confuz, așa că haideți să parcurgem un exemplu pentru a arăta cum funcționează acest algoritm de sortare.

să Presupunem că ni se dă următoarea matrice la fel:

Acum, haideți să alegeți ceva numit „pivot point”., Scopul este de a rearanja matrice, astfel încât toate toate elementele mai mică decât pivotul sunt la stânga sa, și toate elementele mai mare decât pivotul sunt la dreapta sa. Alegerea punctului de pivotare este arbitrară; poate fi primul element al matricei, ultimul element al matricei sau chiar un element aleatoriu! Pentru scopurile noastre, totuși, să alegem punctul pivot pentru a fi ultimul element din matrice, 5.,

După rearanjarea serie în jurul punctului pivot 5, ar trebui să obțină următoarele matrice:

Apoi am recursiv urmați procedura de mai sus pentru subarrays la stânga și la dreapta de punctul de pivot.

subarray-ul din stânga punctului pivot este doar un element. Nu are rost să sortați o serie de lungimi, deci nu este nimic de făcut aici!,

stânga subarray

Pe de altă parte, la subarray la dreapta de punctul de pivot nu este atât de banal. Urmând procedura descrisă mai sus, să alegem 7 pentru a fi noul punct pivot pentru această subarray.,”>

dreptul De subarray

După rearanjarea elementelor subarray în jurul valorii de punctul de pivot, vom obține următoarele:

dreptul De subarray rearanjate în jurul valorii de noul punct de pivot, 7

Prin continuarea recursiv, și fuzionarea stânga subarray cu pivot și dreptul subarray, un sortat este returnat.,

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

Articles

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *