Hvad er kompleksiteten af heap-sorteringsalgoritme?
Hvad er kompleksiteten af heap-sorteringsalgoritme?

Video: Hvad er kompleksiteten af heap-sorteringsalgoritme?

Video: Hvad er kompleksiteten af heap-sorteringsalgoritme?
Video: Build Heap Algorithm | Proof of O(N) Time Complexity 2024, November
Anonim

Heap sort er en in-place algoritme. Tidskompleksitet : Tidskompleksitet af heapify er O(Logn). Tidskompleksitet af createAndBuildHeap() er O(n) og samlet tidskompleksitet af Heap Sort er O(nLogn).

Med hensyn til dette, hvad er algoritmen for heap-sort?

Heap-sorteringsalgoritme er opdelt i to grundlæggende dele: Oprettelse af en Dynge af den usorterede liste/array. Derefter a sorteret array oprettes ved gentagne gange at fjerne det største/mindste element fra dynge , og indsætte det i arrayet. Det dynge rekonstrueres efter hver fjernelse.

På samme måde, hvad er den typiske køretid for en heap-sorteringsalgoritme? Quicksort har dog et worst-case løbe tid af O (n 2) O(n^2) O(n2) og en worst-case rumkompleksitet på O (log ? n O(log n O(logn), så hvis det er meget vigtigt at have en fastworst-case løbe tid og effektiv pladsudnyttelse, heapsort er den bedste mulighed.

På samme måde bliver det spurgt, hvad er kompleksiteten af Heapify-funktionen?

Hovedideen er, at i build_heapen algoritme den aktuelle ophobe pris er ikke O(log n) for alle elementer. Hvornår ophobe kaldes, afhænger køretiden af, hvordan faran-elementet kan bevæge sig ned i træet, før processen afsluttes. Det afhænger med andre ord af højden af elementet i dyngen.

Hvilken sorteringsalgoritme har bedst asymptotisk kompleksitet?

Til Bedst sag Indsættelse Sortere og Heap Sort er de bedste en som deres bedst sagens køretid kompleksitet er O(n). For gennemsnitlig sag bedst asymptotisk køretid kompleksitet er O(nlogn), som er givet ved Merge Sortere , Dynge Sortere , Hurtigt Sortere . For Worst Case bedst køretid kompleksitet er O(nlogn), som er givet af Merge Sortere , Dynge Sortere.

Anbefalede: