Algoritmen en Datastructuren
Inhoud
Algoritmen en Datastructuren ...................................................................................................................... 1
week 1 ........................................................................................................................................................... 5
Inleiding ..................................................................................................................................................... 5
Faculteit ................................................................................................................................................. 5
Cryptografie............................................................................................................................................... 7
Waarom werkt cryptografie? ................................................................................................................ 7
Log() ........................................................................................................................................................... 7
Log() op de rekenmachine .................................................................................................................... 7
Algoritmen en complexiteit ...................................................................................................................... 9
Factoren: ............................................................................................................................................... 9
Complexiteit ........................................................................................................................................ 10
Big-Oh Notatie ......................................................................................................................................... 11
Typen algoritmen ................................................................................................................................ 12
Verhogen van N ................................................................................................................................... 14
Tijdsduur algoritme ............................................................................................................................. 14
Sieve of Eratosthenes .............................................................................................................................. 15
Voorbeeldcode c# (console) ............................................................................................................... 15
Maxmum Contiguous subsequence sum ................................................................................................ 16
Logaritmische complexiteit. .................................................................................................................... 16
O(log N) ............................................................................................................................................... 17
Binary search voor gesorteerde reeks ................................................................................................ 17
O ( N log N ) ......................................................................................................................................... 17
Bekende functies ..................................................................................................................................... 19
Zoeken: .................................................................................................................................................... 19
Sorteren:.................................................................................................................................................. 19
Week2 – Basis Datastructuren .................................................................................................................... 20
List ........................................................................................................................................................... 20
Arraylist ................................................................................................................................................... 22
Bewerkingen Arraylist (big-O) ............................................................................................................. 22
LinkedList................................................................................................................................................. 23
Implementatie linkedlist(code) ........................................................................................................... 23
Gebruik (code) ..................................................................................................................................... 23
Bewerkingen linkedlist ........................................................................................................................ 24
, Typen linked list .................................................................................................................................. 26
Stack ........................................................................................................................................................ 27
Werking stack ...................................................................................................................................... 27
Toepassingen van de stack .................................................................................................................. 28
Postfix to Infix/infix to postfix ............................................................................................................. 28
Postfix to Infix...................................................................................................................................... 28
Infix to postfix...................................................................................................................................... 29
Implementatie stack............................................................................................................................ 30
Queue ...................................................................................................................................................... 31
Wat is een queue?............................................................................................................................... 31
Toepassingen van de queue ................................................................................................................ 31
Queue implementatie ......................................................................................................................... 32
Recursie ....................................................................................................................................................... 33
Regels voor recursie volgens Weiss ........................................................................................................ 33
Recursie en stack ..................................................................................................................................... 33
Reeks van Fibonacci ............................................................................................................................ 34
Sorteren....................................................................................................................................................... 35
Insertion sort ........................................................................................................................................... 36
Voorbeeld Java: ................................................................................................................................... 36
Voorbeeld C# ....................................................................................................................................... 36
Analyse Insertion sort ............................................................................................................................. 37
Shellsort................................................................................................................................................... 38
Wat is een goede increment sequence? ............................................................................................. 38
Voorbeeld Java .................................................................................................................................... 39
Voorbeeld C# ....................................................................................................................................... 39
Mergesort ................................................................................................................................................ 40
Algoritme mergesort ........................................................................................................................... 40
Pseudocode ......................................................................................................................................... 40
Voor en nadelen mergesort ................................................................................................................ 40
Opdelen voor Sorteren........................................................................................................................ 41
Samenvoegen mergen (lineair) ........................................................................................................... 41
Voorbeeldcode Java ............................................................................................................................ 42
Voorbeeldcode C# ............................................................................................................................... 43
Quicksort ................................................................................................................................................. 44
Pseudocode ......................................................................................................................................... 45
Hoe kiezen we de pivot? ..................................................................................................................... 45
Hoe splitsen we? ................................................................................................................................. 46
, Analyse Quicksort ................................................................................................................................ 46
Bomen ......................................................................................................................................................... 47
Toepassingen van bomen ....................................................................................................................... 47
Tree traversal (printen van volgorde) ................................................................................................. 48
Binaire bomen ..................................................................................................................................... 48
Binaire zoekbomen (BST) ............................................................................................................................ 50
Operaties op BST ..................................................................................................................................... 50
Binaire zoekboom: find ....................................................................................................................... 51
Binaire zoekboom: insert .................................................................................................................... 51
Binaire zoekboom: remove ..................................................................................................................... 52
Één child .............................................................................................................................................. 52
Node met twee children: .................................................................................................................... 52
AVL bomen .................................................................................................................................................. 53
binaire zoekboom VS AVL boom ............................................................................................................ 53
AVL bomen: insert ................................................................................................................................... 54
Single rotation (LL) & (RR) ................................................................................................................... 55
Double Rotation (LR & RL)....................................................................................................................... 56
Postfix Prefix notatie bomen................................................................................................................... 57
Priority queue met binary heap .................................................................................................................. 58
Operaties: ................................................................................................................................................ 58
Minheap / maxheap ................................................................................................................................ 58
Implementatie priority queue: de binary heap ...................................................................................... 59
Analyse operaties .................................................................................................................................... 59
Implementatie tree met een array ......................................................................................................... 59
Insert ....................................................................................................................................................... 60
Insert: Percolate up ............................................................................................................................. 60
Insert Code .......................................................................................................................................... 60
deleteMin: percolate down .................................................................................................................... 61
buildHeap ................................................................................................................................................ 62
Grafen.......................................................................................................................................................... 64
Representatie van grafen ........................................................................................................................ 64
Toepassingen .......................................................................................................................................... 64
Implementatie ......................................................................................................................................... 65
Adjacency matrix ................................................................................................................................. 65
Adjacency List ...................................................................................................................................... 65
Code voorbeeld ....................................................................................................................................... 66
Vertex-klasse ....................................................................................................................................... 66
, Edge-klasse .......................................................................................................................................... 66
Graph-klasse ........................................................................................................................................ 66
Kortste-pad algoritme ................................................................................................................................. 67
Gewogen en ongewogen .................................................................................................................... 67
Kortste-pad algoritme (ongewogen) ...................................................................................................... 68
Breadth-first in een graaf (1)............................................................................................................... 68
Algoritme ............................................................................................................................................. 69
Kortste pad algoritme (gewogen): Dijkstra ............................................................................................. 70
Stappen ............................................................................................................................................... 70
Voorbeeld ............................................................................................................................................ 71
Implementatie Dijkstra ....................................................................................................................... 72
Hashing ........................................................................................................................................................ 73
Hash tables .............................................................................................................................................. 73
Hash functions ......................................................................................................................................... 74
Collision ............................................................................................................................................... 74
Fout voorbeeld 1 ................................................................................................................................. 75
Fout voorbeeld 2 ................................................................................................................................. 75
Goed voorbeeld .................................................................................................................................. 76
37 ......................................................................................................................................................... 76
Separate chaining .................................................................................................................................... 77
Array of linked lists (met mod 10).................................................................................................... 77
Open addressing ..................................................................................................................................... 78
Linear probing (Vakje bezet? 1 stapje verder totdat er een plekje vrij is) ...................................... 78
Quadratic probing ( ............................................................................................................................. 79
Double hashing.................................................................................................................................... 80
Rehashing ............................................................................................................................................ 82
Algemene woordenlijst ............................................................................................................................... 83
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper Edd92. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €4,99. Je zit daarna nergens aan vast.