Sisällysluettelo:

Miten yhdistämislajittelun monimutkaisuus lasketaan?
Miten yhdistämislajittelun monimutkaisuus lasketaan?

Video: Miten yhdistämislajittelun monimutkaisuus lasketaan?

Video: Miten yhdistämislajittelun monimutkaisuus lasketaan?
Video: AI reaalimaailmassa: miten liiketoimintaa voi tehostaa tekoälyn avulla? 2024, Huhtikuu
Anonim

2 vastausta. Solmun A[L, R] jakaminen kahdeksi solmuksi kestää R−L+1 ajan ja sitten yhdistäminen kaksi lapsisolmua A[L, M] ja A[M+1, R] vievät jälleen A[R−L+1]-ajan. Siten jokaiselle solmulle operaatioiden määrä on algoritmi suorittaa on yhtä suuri kuin kaksi kertaa kyseistä solmua vastaavan taulukon koko.

Miten yhdistämislajittelu toimii tässä suhteessa?

Näin yhdistämislajittelu käyttää hajota ja hallitse -periaatetta:

  1. Jaa etsimällä p:n ja r:n puolivälissä olevan sijainnin luku q.
  2. Voita lajittelemalla rekursiivisesti alitaulukot kussakin jakoaskeleen luomassa alitehtävässä.
  3. Yhdistä yhdistämällä kaksi lajiteltua alitaulukkoa takaisin yhdeksi lajiteltuun alitaulukkotaulukkoon[s..

Lisäksi mikä on yhdistämislajittelun suuri O-monimutkaisuus? Yhdistä lajittelu on talli järjestellä mikä tarkoittaa, että sama elementti taulukossa säilyttää alkuperäiset asemansa suhteessa toisiinsa. Kokonaisaika monimutkaisuus / Yhdistä lajittelu On O (nLogn). Se on tehokkaampi, koska se on pahimmassa tapauksessa myös ajonaika O (nlogn) Tila monimutkaisuus / Yhdistä lajittelu On O (n).

mikä on yhdistämisen monimutkaisuus pahimmassa tapauksessa?

n*log(n)

Kuinka monta vertailua yhdistämislajittelu tekee?

Kun jonkin luettelon elementit loppuvat, laitamme loput elementit luettelon viimeisiin paikkoihin lajiteltu lista. Tuloksena, yhdistäminen kaksi listaa, joissa on yhteensä n elementtiä, vaatii enintään n-1 vertailuja.

Suositeltava: