Algoritmen & datastructuren
Per onderwerp een heldere uitleg met code in Python en Java, en daaronder oefeningen zoals je ze op het tentamen krijgt: een algoritme stap voor stap traceren, de complexiteit bepalen en code in de goede volgorde zetten. Je antwoord wordt direct nagekeken.
Complexiteit en Big-O
Big-O en Θ zonder wiskundejargon: rekenregels, lussen tellen, recurrente betrekkingen en de mastermethode, met uitgewerkte voorbeelden en tentamenvalkuilen.
Sorteeralgoritmes uitgelegd
Insertion, selection, bubble, merge sort en quicksort stap voor stap: tabellen per ronde, Python- en Java-code, stabiliteit en complexiteit voor je tentamen.
Binair zoeken uitgelegd
Lineair en binair zoeken stap voor stap: een trace met lo, hi en mid, de off-by-one-valkuilen, het eerste voorkomen vinden en code in Python en Java.
Stapels en wachtrijen uitgelegd
Stack en queue stap voor stap: push, pop, enqueue en dequeue, implementatie met array en gelinkte lijst, haakjes controleren en code in Python en Java.
Hashtabellen uitgelegd
Hoe werkt een hashtabel? Leer hashfuncties, botsingen, chaining en linear probing stap voor stap, plus load factor, rehashen en code in Python en Java.
Heaps uitgelegd
Wat is een binaire heap? Leer invoegen met sift-up, het minimum verwijderen met sift-down, heapify en heapsort, stap voor stap met code in Python en Java.
Binaire zoekbomen uitgelegd
Hoe werkt een binaire zoekboom? Leer invoegen, zoeken, verwijderen met de opvolger en preorder, inorder, postorder en level-order, met code in Python en Java.
Grafen uitgelegd
Leer grafen representeren met adjacency lists en matrices, en traceer BFS, DFS, Dijkstra en het algoritme van Kahn stap voor stap, met code in Python en Java.
