Koks yra krūvos rūšiavimo algoritmo sudėtingumas?
Koks yra krūvos rūšiavimo algoritmo sudėtingumas?

Video: Koks yra krūvos rūšiavimo algoritmo sudėtingumas?

Video: Koks yra krūvos rūšiavimo algoritmo sudėtingumas?
Video: XIX. Informatinis mąstymas kelyje į skaitmeninę transformaciją: kaip nepasiklysti? 2024, Gegužė
Anonim

Krūvos rūšiavimas yra algoritmas vietoje. Laiko sudėtingumas : Laiko sudėtingumas iš heapify yra O (Prisijungti). Laiko sudėtingumas iš createAndBuildHeap() yra O(n) ir apskritai laiko sudėtingumas iš Krūvos rūšiavimo yra O(nLogn).

Kalbant apie tai, koks yra krūvos rūšiavimo algoritmas?

Krūvos rūšiavimo algoritmas yra padalintas į dvi pagrindines dalis: Kūrimas a Krūva nerūšiuoto sąrašo/masyvo. Tada surūšiuoti masyvas sukuriamas pakartotinai pašalinant didžiausią / mažiausią elementą iš krūva , ir įterpdami jį į masyvą. The krūva po kiekvieno pašalinimo atkuriama.

Panašiai, koks yra tipiškas krūvos rūšiavimo algoritmo veikimo laikas? Tačiau greitasis rūšiavimas turi blogiausią atvejį veikimo laikas O (n 2) O(n^2) O(n2) ir blogiausio atvejo erdvės sudėtingumas O (log ? n O(log n O(logn), taigi, jei labai svarbu turėti greitą blogiausią atvejį) veikimo laikas ir efektyvus erdvės naudojimas, krūva yra geriausias variantas.

Panašiai klausiama, koks yra Heapify funkcijos sudėtingumas?

Pagrindinė idėja yra ta, kad build_heap algoritmas Aktualus sukrauti kaina nėra O(log n) visiems elementams. Kai sukrauti vadinamas, veikimo laikas priklauso nuo to, kaip farano elementas gali judėti žemyn medyje prieš pasibaigiant procesui. Kitaip tariant, jis priklauso nuo elemento aukščio krūvoje.

Kuris rūšiavimo algoritmas turi geriausią asimptotinį sudėtingumą?

Dėl Geriausia dėklo įdėjimas Rūšiuoti ir Krūva Rūšiuoti yra geriausi vienas kaip jų geriausia bylos vykdymo laikas sudėtingumo yra O(n). Vidutiniam atvejui geriausia asimptotinė veikimo laikas sudėtingumo yra O(nlogn), kurį suteikia Merge Rūšiuoti , Krūva Rūšiuoti , Greitai Rūšiuoti . Blogiausiu atveju geriausia veikimo laikas sudėtingumo yra O(nlogn), kurį suteikia sujungimas Rūšiuoti , Krūva Rūšiuoti.

Rekomenduojamas: