Satura rādītājs:

Kā tiek aprēķināta sapludināšanas kārtošanas sarežģītība?
Kā tiek aprēķināta sapludināšanas kārtošanas sarežģītība?

Video: Kā tiek aprēķināta sapludināšanas kārtošanas sarežģītība?

Video: Kā tiek aprēķināta sapludināšanas kārtošanas sarežģītība?
Video: CS50 2015 - Week 5, continued 2024, Maijs
Anonim

2 atbildes. Mezgla A[L, R] sadalīšana divos mezglos aizņem R−L+1 laiku un pēc tam sapludināšana abiem pakārtotajiem mezgliem A[L, M] un A[M+1, R] atkal vajadzīgs A[R−L+1] laiks. Tādējādi katram mezglam operāciju skaits algoritms veic ir vienāds ar divreiz lielāku masīva lielumu, kas atbilst šim mezglam.

Saistībā ar to, kā darbojas sapludināšanas kārtošana?

Lūk, kā sapludināšanas kārtošana izmanto sadali un valdi:

  1. Sadaliet, atrodot pozīcijas skaitli q pa vidu starp p un r.
  2. Iekarojiet, rekursīvi kārtojot apakšblokus katrā no divām apakšproblēmām, ko rada dalīšanas solis.
  3. Apvienojiet, sapludinot divus sakārtotos apakšmasīvus atpakaļ vienā sakārtotā apakšmasīvā[lpp.

Kā arī, kāda ir sapludināšanas kārtošanas lielā O sarežģītība? Sapludināt Kārtot ir stallis kārtot kas nozīmē, ka viens un tas pats elements masīvā saglabā savas sākotnējās pozīcijas viens pret otru. Kopējais laiks sarežģītība no Apvienot kārtošanu ir O (nLogn). Tas ir efektīvāks, jo sliktākajā gadījumā ir arī izpildlaiks O (nlogn) Telpa sarežģītība no Apvienot kārtošanu ir O (n).

kāda ir sapludināšanas kārtošanas sarežģītība sliktākajā gadījumā?

n*log(n)

Cik daudz salīdzinājumu veic sapludināšanas kārtošana?

Kad kādā no sarakstiem beigušies elementi, atlikušos elementus ievietojam pēdējās vietās sakārtoti sarakstu. Rezultātā, saplūšana diviem sarakstiem, kuros kopā ir n elementi, ir nepieciešams ne vairāk kā n-1 salīdzinājumiem.

Ieteicams: