Aan het eind van deze les ken je het principe van het QuickSort algoritme en kan je elementen uit een lijst sorteren aan de hand van het QuickSort algoritme.
Daarna maak je een random rij, met het programma Boomstructuurmaken.fprg en sorteer je die met Bubblesort (5 getallen) en dezelfde rij met Quicksort.
Schrijf het uit, maak een foto en upload die
Slide 5 - Slide
Neem een stapeltje kaarten en sorteer het volgens QuickSort
Slide 6 - Slide
QuickSort
Het QuickSort algoritme maakt net zoals het MergeSort algoritme gebruik van de divide-and-conquermethode.
Door de werking van het QuickSort algoritme pakt onder andere de worstcasescenario van QuickSort minder slecht uit dan dat van MergeSort.
Slide 7 - Slide
Werking QuickSort
Kies een willekeurig element uit de lijst. Dit element wordt de pivot genoemd.
Verplaats de elementen als volgt:
a. Elementen met een waarde kleiner of gelijk aan de pivot komen links van de pivot. b. Elementen met een waarde groter dan de pivot komen rechts van de pivot.
Voer stappen 1 en 2 uit op de deellijsten links en rechts van de pivot.
Herhaal stap 3 totdat alles gesorteerd is.
Slide 8 - Slide
Voorbeeld
Sorteer de volgende elementen. Kies als pivot steeds het meest linker element. Schrijf alle stappen uit!
5 3 8 2 7 1
Slide 9 - Slide
Antwoord
Sorteer de volgende elementen. Kies als pivot steeds het meest linker element.
5 3 8 2 7 1
Slide 10 - Slide
Oefenvraag 1
Sorteer de volgende elementen. Kies als pivot steeds het meest linker element. Schrijf alle stappen uit!
4 8 2 9 1 5
Slide 11 - Slide
Antwoord oefenvraag 1
Sorteer de volgende elementen. Kies als pivot steeds het meest linker element. Schrijf alle stappen uit!
4 8 2 9 1 5
Slide 12 - Slide
Oefenvraag 2
Sorteer de volgende elementen. Kies als pivot steeds het meest linker element. Schrijf alle stappen uit!
1 9 7 9 1 7
Slide 13 - Slide
Antwoord oefenvraag 2
Sorteer de volgende elementen. Kies als pivot steeds het meest linker element. Schrijf alle stappen uit!
1 9 7 9 1 7
Slide 14 - Slide
Keuze van de pivot
Tot nu toe hebben we steeds als pivot het meest linker element gekozen. De pivot mag echter willekeurig gekozen worden.
Het algoritme werkt dus ook als je bijvoorbeeld steeds het middelste element van de lijst kiest of het meest rechter element.
Slide 15 - Slide
Oefenen met pivot
Sorteer de lijsten 7 6 5 4 3 2 1 en 2 3 5 7 6 4 1twee keer met QuickSort.
Kies de eerste keer steeds het meest linker element als pivot.
Kies de tweede keer steeds het middelste element als pivot. Als er geen middelste is, kies dan het eerste element rechts van het midden als pivot.