Les 4 - QuickSort

QuickSort
1 / 16
next
Slide 1: Slide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4-6

This lesson contains 16 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 50 min

Items in this lesson

QuickSort

Slide 1 - Slide

Leerdoel
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.

Slide 2 - Slide

Wat bepaalt in de verdeelfase van MergeSort het aantal stappen dat je moet nemen?
A
De mate waarin de lijst al gesorteerd is.
B
Het aantal elementen van de lijst.
C
De hoeveelheid dezelfde elementen in de lijst.
D
In hoeverre de lijst steeds in twee even grote lijsten kan worden opgedeeld.

Slide 3 - Quiz

Leg uit waarom er bij het MergeSort-algoritme nauwelijks verschil is tussen het bestcase- en worstcasescenario.
timer
2:00

Slide 4 - Open question

Bekijk de volgende lijst met elementen. Kun je deze lijst het snelst sorteren met BubbleSort of met MergeSort?

2 1 4 5 6 5 9 8
A
BubbleSort
B
MergeSort

Slide 5 - Quiz

Wat is ook alweer de divide-and-conquermethode?
timer
2:00

Slide 6 - Open question

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
  1. Kies een willekeurig element uit de lijst. Dit element wordt de pivot genoemd.

  2. 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.

  3. Voer stappen 1 en 2 uit op de deellijsten links en rechts van de pivot.

  4. 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 1 twee 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. 
timer
10:00

Slide 16 - Slide