Vad är komplexiteten hos heap-sorteringsalgoritm?
Vad är komplexiteten hos heap-sorteringsalgoritm?

Video: Vad är komplexiteten hos heap-sorteringsalgoritm?

Video: Vad är komplexiteten hos heap-sorteringsalgoritm?
Video: Gregory Chaitin: Complexity, Metabiology, Gödel, Cold Fusion 2024, November
Anonim

Högsortering är en algoritm på plats. Tidskomplexitet : Tidskomplexitet av heapify är O(Logn). Tidskomplexitet av createAndBuildHeap() är O(n) och totalt tidskomplexitet of Heap Sort är O(nLogn).

Med avseende på detta, vad är algoritmen för heap-sort?

Högsorteringsalgoritm är uppdelad i två grundläggande delar: Skapa en Högen av den osorterade listan/arrayen. Då en sorterad array skapas genom att upprepade gånger ta bort det största/minsta elementet från högen , och infoga den i arrayen. De högen rekonstrueras efter varje borttagning.

På samma sätt, vad är den typiska körtiden för en heap-sorteringsalgoritm? Quicksort har dock ett värsta fall körtid av O (n 2) O(n^2) O(n2) och en värsta utrymmeskomplexitet av O (log ? n O(log n O(logn), så om det är mycket viktigt att ha ett snabbt värsta fallet körtid och effektiv utrymmesanvändning, heapsort är det bästa alternativet.

På samma sätt frågas det, vad är komplexiteten i Heapify-funktionen?

Huvudtanken är att i build_heapen algoritm den riktiga heapify kostnaden är inte O(log n) för alla element. När heapify kallas, beror körtiden på hur faran-elementet kan röra sig ner i trädet innan processen avslutas. Med andra ord, det beror på höjden på elementet i högen.

Vilken sorteringsalgoritm har bäst asymptotisk komplexitet?

För Bäst fodral Insättning Sortera och Heap Sortera är de bästa en som deras bäst ärendets gångtid komplexitet är O(n). För genomsnittligt fall bästa asymptotiska körtid komplexitet är O(nlogn) som ges av Merge Sortera , Högen Sortera , Snabbt Sortera . För värsta fall bäst körtid komplexitet är O(nlogn) som ges av Merge Sortera , Högen Sortera.

Rekommenderad: