Innehållsförteckning:

Hur beräknas sammanslagningssorteringskomplexiteten?
Hur beräknas sammanslagningssorteringskomplexiteten?

Video: Hur beräknas sammanslagningssorteringskomplexiteten?

Video: Hur beräknas sammanslagningssorteringskomplexiteten?
Video: Forskning för alla! Presentation av förslag till en svensk plattform för att kommunicera vetenskap 2024, Maj
Anonim

2 svar. Uppdelningen av en nod A[L, R] i två noder tar R−L+1 tid och därefter sammanslagning de två underordnade noderna A[L, M] och A[M+1, R] tar återigen A[R−L+1] tid. Således för varje nod, antalet operationer algoritm utför är lika med två gånger storleken på den array som motsvarar den noden.

Angående detta, hur fungerar sammanslagningssortering?

Så här använder merge sort dela-och-härska:

  1. Dividera genom att hitta talet q för positionen mitt emellan p och r.
  2. Erövra genom att rekursivt sortera subarrayerna i vart och ett av de två delproblemen som skapas av delningssteget.
  3. Kombinera genom att slå samman de två sorterade subarrayerna tillbaka till den enda sorterade subarrayen [sid.

Dessutom, vad är den stora O-komplexiteten för sammanslagning? Sammanfoga sortering är ett stall sortera vilket innebär att samma element i en array bibehåller sina ursprungliga positioner i förhållande till varandra. Total tid komplexitet av Slå samman sortering är O (nLogn). Det är mer effektivt då det i värsta fall också är körtiden O (nlogn) Utrymmet komplexitet av Slå samman sortering är O (n).

vad är komplexiteten i merge sort i värsta fall?

n*log(n)

Hur många jämförelser gör merge sort?

När vi får slut på elementen i en av listorna lägger vi de återstående elementen i de sista platserna i sorterad lista. Som ett resultat, sammanslagning två listor som har totalt n element kräver högst n-1 jämförelser.

Rekommenderad: