Table of Contents
Quicksort er en mye brukt sortering algoritme kjent for sin effektivitet. Forståelse av ytelsen innebærer å analysere det forventede antall sammenligninger og bytter under utførelse. Denne artikkelen utforsker de matematiske prinsippene bak disse forventningene, med fokus på den probabilistiske analysen av Quicksort.
Forventet antall sammenligninger
Det forventede antall sammenligninger i Quicksort avhenger av valget av dreie og partisjonsprosessen. Forutsatt at alle permutasjoner er like sannsynlige, kan gjennomsnittlig tilfelle analyseres ved hjelp av rekursive ligninger. For en rekke størrelse ] , de forventede sammenligningene, betegnet som C(n), tilfredsstille gjentaelsen:
C(n) = n - 1 + frac{1}{n} sum {k=0}^{n-1} [C(k) + C(n - 1 - k)]
Denne gjentakingen forenkler til et velkjent resultat: C(n) ⁇ 2n cialis n] for store ]n]. Avledelsen innebærer summing over alle mulige dreieposisjoner og påføring av egenskaper til harmoniske tall.
Forventet antall bytter
Bytt i Quicksort oppstår under partisjonsprosessen. Det forventede antall bytter er relatert til antall sammenligninger og fordeling av dreievalg. Under ensartet tilfeldighet kan de forventede byttene, betegnes som S(n), tilnærmet ved å analysere partisjonstrinnene.
Hvert partisjonstrinn innebærer bytteelementer for å sikre riktig plassering av dreiepunktene. De forventede byttene per partisjon er proporsjonale med størrelsen på underarrayene. Summing over alle rekursive samtaler gir en tilnærming: S(n) ⁇ n resirkulerende n.
Sammendrag av forventninger
- Komparasjoner: Omtrent 2n isf. n for store ]n].
- Swaps: Omtrent n for store ]n].
- Begge metrikkene vokser logaritmisk med rekkestørrelse, noe som gjenspeiler Quicksorts effektivitet.