Sortering
Sortering
Sortering
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Lunds Tekniska Högskola<strong>Sortering</strong>Detta avsnitt handlar om olika sätt att sortera data.Exempel på vad du skall kunna• redogöra för och jämföra olika sorteringsalgoritmer:o Insättningssorteringo Urvalssortering ivektoro Urvalssortering i en prioritetsköo Heapsort (behandlas i samband med prioritetsköer).o Mergesort, rekursiv varianto Mergesort, iterativ variant för extern sorteringo QuicksortSe vidare under läsanvisningar för vad du skall kunna när det gäller tidskomplexitetför de olika algoritmerna.• förstå begreppen pivot-element och partitionering (Quicksort) samt kunna diskuteraval av pivot-element och strategi för partitionering.• använda idéerna från dessa algoritmer när du implementerar lösningar på liknandeproblem (ex seminarium 6:5).Undervisningsmoment• Föreläsning 11-12.• Seminarieövning 6:5-6:7.• Övning 6:4-5.Läsanvisningar• OH-bilder.• Läroboken: 8.1-8.3, 8.5-8.8, 21.6.1-21.6.3.För metoderna insättningssortering, heapsort, mergesort och quicksort gäller att man skallkunna redogöra för hur de fungerar genom att stegvis kunna demonstrera på exempel. Manskall vidare känna till deras tidskomplexitet i värsta fall och medelfall.I 8.3 behöver beviset för insättningssorteringens medelfallskomplexitet inte läras in. Däremotskall man kunna resonera sig fram till värstafallet.8.5 Mergesort. Här finns inget bevis för tidskomplexiteten; man hänvisar till andra avsnitt iboken där den rekursionsformel som gäller för komplexiteten redan lösts. Du skall kunnaställa upp formeln och lösa den för specialfallet n = 2 k , dvs. alla halveringar går jämnt ut.Förutom det som står i detta avsnitt ingår att känna till den iterativa varianten av mergesortsom lämpar sig för extern sortering (dvs sortering av element som ligger på filer vilka endastkan läsas sekventiellt). Denna variant finns på de utdelade bilderna.8.6 Quicksort. Förutom att känna till metoden skall man även kunna föra den diskussion omvettigt val av pivotelement och strategi vid partitionering som görs i avsnitten 8.6.3 - 8.6.5.
Beträffande tidskomplexitet gäller det att veta vad som är värsta fall, medelfall och "bästafall" (lika delar vid varje partitionering). Bevisen behöver du inte kunna. Du skall dock kunnalösa de rekursionsformler som gäller i värsta fallet respektive bästa fallet.8.7 behandlas inte på föreläsningarna. På seminarium 6 löses samma problem (uppgift 5). Seavsnittet som ett exempel på att idéerna i quicksort kan användas för andra problem änsortering.8.8 läses kursivt.