Mikä on keon lajittelualgoritmin monimutkaisuus?
Mikä on keon lajittelualgoritmin monimutkaisuus?

Video: Mikä on keon lajittelualgoritmin monimutkaisuus?

Video: Mikä on keon lajittelualgoritmin monimutkaisuus?
Video: CS50 2013 - Week 4 2024, Joulukuu
Anonim

Keon lajittelu on paikallaan oleva algoritmi. Aikamonimutkaisuus : Aika monimutkaisuus kohdasta heapify on O(Logn). Aika monimutkaisuus LuodaAndBuildHeap() on O(n) ja kokonaisuus aika monimutkaisuus Keon lajittelun arvo on O(nLogn).

Mikä on kason lajittelun algoritmi tässä suhteessa?

Keon lajittelualgoritmi on jaettu kahteen perusosaan: Luominen a Pino lajittelemattomasta luettelosta/taulukosta. Sitten eräs lajiteltu taulukko luodaan poistamalla toistuvasti suurin/pienin elementti pino , ja lisäämällä sen taulukkoon. The pino rekonstruoidaan jokaisen poiston jälkeen.

Vastaavasti mikä on keon lajittelualgoritmin tyypillinen ajoaika? Quicksortilla on kuitenkin pahin tapaus käyntiaika O (n 2) O(n^2) O(n2) ja O:n pahimman tapauksen avaruuskompleksisuus (log ? n O(log n O(logn), joten jos on erittäin tärkeää saada nopein pahin tapaus) käyntiaika ja tehokas tilankäyttö, kasalajitella on paras vaihtoehto.

Vastaavasti kysytään, mikä on Heapify-toiminnon monimutkaisuus?

Pääideana on, että build_heap algoritmi todellinen kasaa kustannus ei ole O(log n) kaikille elementeille. Kun kasaa kutsutaan, ajoaika riippuu siitä, kuinka faran-elementti saattaa liikkua alas puussa ennen prosessin päättymistä. Toisin sanoen se riippuu elementin korkeudesta kasassa.

Millä lajittelualgoritmilla on paras asymptoottinen monimutkaisuus?

varten Parhaat kotelon lisäys Järjestellä ja Kasa Lajittele ovat parhaat yksi heidän parhaat tapauksen suoritusaika monimutkaisuus on O(n). Keskimääräiseen tapaukseen paras asymptoottinen ajoaika monimutkaisuus on O(nlogn), jonka Merge antaa Järjestellä , Kasa Järjestellä , Nopea Järjestellä . Pahimmassa tapauksessa parhaat ajoaika monimutkaisuus on O(nlogn), jonka yhdistäminen antaa Järjestellä , Kasa Järjestellä.

Suositeltava: