Sisukord:

Kuidas arvutatakse liitmise sortimise keerukust?
Kuidas arvutatakse liitmise sortimise keerukust?

Video: Kuidas arvutatakse liitmise sortimise keerukust?

Video: Kuidas arvutatakse liitmise sortimise keerukust?
Video: MS Excel (valemite sisestamine) 2024, Mai
Anonim

2 vastust. Sõlme A[L, R] jagamine kaheks sõlmeks võtab aega R−L+1 ja siis ühinemine kahel alamsõlmel A[L, M] ja A[M+1, R] kulub jälle A[R−L+1] aega. Seega iga sõlme puhul toimingute arv algoritm täidab on võrdne sellele sõlmele vastava massiivi kahekordse suurusega.

Kuidas liitsortimine sellega seoses toimib?

Siit saate teada, kuidas ühendamise sortimine kasutab jaga ja valluta:

  1. Jagage, leides p ja r vahelise positsiooni arvu q.
  2. Vallutage, sorteerides rekursiivselt alamkihid kahes jagamise sammuga loodud alamprobleemis.
  3. Kombineerige, ühendades kaks sorteeritud alammassiivi tagasi üheks sorteeritud alammassiiviks[lk.

Samuti, milline on liitmise sortimise suur O keerukus? Ühenda sortimine on tall sorteerida mis tähendab, et massiivi sama element säilitab üksteise suhtes oma algsed positsioonid. Üldine aeg keerukus kohta Ühenda sortimine on O (nLogn). See on tõhusam, kuna halvimal juhul on ka käitusaeg O (nlogn) Ruum keerukus kohta Ühenda sortimine on O (n).

milline on ühendamise keerukus halvimal juhul?

n*log(n)

Kui palju võrdlusi ühendamise sortimine teeb?

Kui ühes loendis olevad elemendid saavad otsa, paneme ülejäänud elemendid loendi viimastesse piludesse sorteeritud nimekirja. Tulemusena, ühinemine kaks loendit, milles on kokku n elementi, nõuavad maksimaalselt n-1 võrdlused.

Soovitan: