Ar trijų krypčių greitas rūšiavimas yra stabilus?
Ar trijų krypčių greitas rūšiavimas yra stabilus?

Video: Ar trijų krypčių greitas rūšiavimas yra stabilus?

Video: Ar trijų krypčių greitas rūšiavimas yra stabilus?
Video: The Quicksort Sorting Algorithm: Pick A Pivot, Partition, & Recurse 2024, Lapkritis
Anonim

3 - greito rūšiavimo būdas algoritmas

Tai nėra stabilus ! Venkite naudoti greitas rūšiavimas tais atvejais, kai stabilumas yra būtinas. Jis naudoja O (log(n)) papildomą erdvę, kodėl? Dėl rekursijos.

Panašiai, ar „QuickSort“gali būti stabilus?

Sakoma, kad rūšiavimo algoritmas yra stabilus jei ji išlaiko santykinę įrašų tvarką raktų lygybės atveju. A stabilus algoritmas sukuria pirmąją išvestį. Greitas rūšiavimas yra nestabilus algoritmas, nes mes daryti elementų keitimas pagal sukimosi padėtį (neatsižvelgiant į pradines jų padėtis).

koks yra „QuickSort“laiko sudėtingumas? Nors blogiausiu atveju „QuickSort“sudėtingumas yra O (n2), o tai yra daugiau nei daugelis kitų panašių rūšiavimo algoritmų Sujungti Rūšiuoti ir Heap Sort, QuickSort yra greitesnė praktika, nes jo vidinė kilpa gali būti efektyviai įdiegta daugelyje architektūrų ir daugumoje realaus pasaulio duomenų.

Atsižvelgiant į tai, kuris rūšiavimo algoritmas yra stabilus?

A rūšiavimo algoritmas sakoma, kad yra stabilus jei du objektai su vienodais raktais rodomi ta pačia tvarka surūšiuotoje išvestyje, kaip ir rūšiuojamame įvesties masyve. Kai kurie rūšiavimo algoritmai yra stabilus iš prigimties kaip Insertion rūšiuoti , Sujungti Rūšiuoti , Burbulas Rūšiuoti ir kt.

Kodėl atrankos rūšiavimas nėra stabilus?

Modifikuoti neturėtų būti per sunku nestabilios atrankos rūšiavimas algoritmas tapti stabilus . Paprastais atvejais – tu ne teisinga. Pasirinkimo rūšiavimas nestabilus . Jei naudojate susietą sąrašą, o ne masyvą, ir įterpiate elementą į tinkamą vietą, o ne sukeitę, atrankos rūšiavimas yra stabilus.

Rekomenduojamas: