Mi a kupacrendezési algoritmus bonyolultsága?
Mi a kupacrendezési algoritmus bonyolultsága?

Videó: Mi a kupacrendezési algoritmus bonyolultsága?

Videó: Mi a kupacrendezési algoritmus bonyolultsága?
Videó: Gregory Chaitin: Complexity, Metabiology, Gödel, Cold Fusion 2024, Lehet
Anonim

A halomrendezés egy helyben működő algoritmus. Időkomplexitás : Időbeli összetettség a heapify értéke O(Logn). Időbeli összetettség A createAndBuildHeap() értéke O(n) és összességében idő összetettsége a Heap rendezés értéke O(nLogn).

Ehhez képest mi a kupacrendezés algoritmusa?

Halomrendezési algoritmus két alapvető részre oszlik: Létrehozása a Halom a rendezetlen listáról/tömbről. Aztán a rendezve A tömb a legnagyobb/legkisebb elem többszöri eltávolításával jön létre halom , és beillesztjük a tömbbe. Az halom minden eltávolítás után rekonstruálódik.

Hasonlóképpen, mi a halomrendezési algoritmus tipikus futási ideje? A gyorsválogatásnak azonban van egy legrosszabb esete is futási idő O (n 2) O(n^2) O(n2) és az O legrosszabb esetű térkomplexitása (log ? n O(log n O(logn), tehát ha nagyon fontos a legrosszabb eset) futási idő és hatékony helykihasználás, halom a legjobb lehetőség.

Hasonlóképpen felteszik a kérdést, hogy mi a Heapify funkció összetettsége?

A fő ötlet az, hogy a build_heap algoritmus az aktuális halmozzanak költsége nem O(log n) minden elemre. Amikor halmozzanak hívják, a futási idő attól függ, hogy a faran elem mennyit mozoghat lefelé a fában, mielőtt a folyamat befejeződik. Más szóval, az elem magasságától függ a kupacban.

Melyik rendezési algoritmus rendelkezik a legjobb aszimptotikus összetettséggel?

Mert Legjobb tok Beillesztés Fajta és Heap A rendezés a legjobb az egyik, mint az övék legjobb ügy futamideje bonyolultság értéke O(n). Átlagos esetre legjobb aszimptotikus futási idő bonyolultság az O(nlogn), amelyet a Merge ad meg Fajta , Heap Fajta , Gyorsan Fajta . A legrosszabb esetre legjobb futási idő bonyolultság az O(nlogn), amelyet a Merge ad meg Fajta , Heap Fajta.

Ajánlott: