{1,3,4}{6,7,9,10}{2,5,8} vader. knoop. find(10) = 9 = 9 = find(7) find(10) = 9 5 = find(8) union(10,8): union-find

Maat: px
Weergave met pagina beginnen:

Download "{1,3,4}{6,7,9,10}{2,5,8} vader. knoop. find(10) = 9 = 9 = find(7) find(10) = 9 5 = find(8) union(10,8): union-find"

Transcriptie

1 3 4 5 {,3,4}{6,7,9,0}{,5,8} knoop vader find(0) = 9 = 9 = find(7) find(0) = 9 5 = find(8) 5 union(0,8): union-find 7 6 0

2 priority queue DT priority queue

3 nivo s van abstractie priority queue verzameling objecten met prioriteit initialiseren, leeg-test, toevoegen, oogste vinden, en verwijderen eap complete boom met eap-eigenscap trickle-up sift-down array vader(i) = i/

4 binaire eap eap: implementatie priority queue complete bin. boom array eap eigenscap: [i] > [i], [i+] basisoperaties: borrel omoog, zink neer percolate toevoegen grootste verwijderen O(lg n) 3 O(n) eap gereed maken variant: symmetrisce min-max eap

5 min-max priority queue Symmetric Min-Max eap broers: min-max van alle waarden eronder lokale eisen: Q Lnode(N).key N.key Q N.key Rnode(N).key Q3 X.key Y.key min-max eap deap (double ended) diamond deque back-to-back eap interval eap Lnode(N) X N N P Y N 3 N 4 Rnode(N) symmetric min-max eap: a simpler data structure for double-ended priority queue. IPL 69 (999) 97-99

6 priority queue complexiteit eap 6.3 binomial queue 6.8. fibonacci queue.4 leftist tree 6.6 eap bino fibo left init isempty insert log log log findmin log deletemin log log log log merge n log log decreasekey log log log fibonacci queue: - amortized complexiteit - Dijkstra, kortste paden (& Prim)

7 priority queue lineair lineaire lijst geordend / ongeordend array / pointers arr +ord pnt +ord eap insert vinden lg n n plaatsen n lg n maximum vinden n n verwijderen! lg n init n lg n n lg n n

8 leftist tree - ritsen eap-ordening niet compleet basisoperatie ritsen

9 leftist tree - operaties voeg element toe verwijder maximum T ritsen recursief: a a T T a a T a>b b b T 3 T 4 b T 3 T 4

10 leftist trees - efficiëntie bladafstand: npl + lengte kortste pad naar blad leftist korte paden naar rects boom elt naar links over blaf(links) blaf(rects) aanpassen structuur links-ellend leftist

11 leftist trees - na ritsen structuur: top-down? bladafstand: bottom-up!????????

12 complexiteit ritsen k k = min{ l,r } + = r + l r l r = k- bewering. leftist boom T met wortel v waarvoor blaf(v) = k dan i. bevat T tenminste k - knopen ii. eeft et recter pad k knopen bewijs (van i). (basis: k= ) tenminste = - knoop (inductiestap: correct voor k; bewijzen voor k+ ) linker subboom eeft tenminste l - knopen; rects tenminste r - knopen. elk van deze waarden is tenminste k -, dus totaal tenminste k+ - knopen. leftist boom met n knopen eeft blaf(v) = k met k - n, dus k lg(n+)

13 binomial tree van graad k B 0 B B B 3 binomial queue B k = = B k- B k- B k- B k-... B 0 k knopen binomial forest bi-bos van elke graad maximaal één boom binomial queue binomial forest eap ordening knopen

14 = binomial queue- merge ø carry carry resultaat basisoperatie merge

15 binomial q - operaties insert deletemin representatie

16 fibonacci queue luie binomial queue uitstel samenvoegen gelijke graad Fibonacci queue toevoegen element samenvoegen queues - lui verwijder minimum - minimum pointer - structuur erstellen minder stricte vorm sleutel verlagen decrease key - knoop los van ouder alen - aan bos toevoegen - markeer ouder - maximaal één kind verliezen cascade cut

17 toevoegen 7,5,,6,3,8,, deletemin fibo queue vs. binom fibonacci queue binomial queue

18 5 5 decreasekey fibo queue x * cascade cut

19 decreasekey * fibo queue graad

20 deletemin fibo queue minimum pointer - structuur erstellen 5 5

21 ! letters + frequenties B C D E F ? boomcode 00 D 0 B 00 E 0 C 0 F Huffman code B E D C B F verwacte codelengte = gewogen padlengte : E C D F B E D C F letter α freq(α) diepte(α)

22 n=4 f f f 3 f 4 n=3 f +f f 3 f 4 Huffman: correcteid 3 4 even goed beter verscil f +f

23 Ziv-Lempel-Welc adaptive data compression woord 8 bit a 4 bit letter vb. {a,b,c,d}* a 4 bits coderen ababcbababaaaa decoderen a b ab c ba?.. 8 niet in boom : net toegevoegd! a b c d 0 3 b a b c b 6 8 a 9 a b c d 0 3 b a b c b 6 8

24 ZLW trie - progr.opgave ZLW code-tabel a a 0 ab a 4 abc a 6 b a ba a 5 coderen a b c d 0 3 b a b c b 6 8 a 9 bab a 8 baba a 9 c a cb a 7 d a 3 implementatie ier bits b ~ 0 DT: dictionary representatie: trie decoderen 0 a a - b b - c c - 3 d d - 4 ab b 0 5 ba a 6 abc c 4 7 cb b 8 bab b 5 9 baba a 8

25 DT Union-Find - partitie van {,,n} met namen - union, find Priority Queue - verzameling objecten met prioriteit( ) - isempty, insert, findmax, deletemax Double Ended Priority Queue - verzameling objecten met prioriteit( ) - isempty, insert, findmax, deletemax, findmin, deletemin Dictionary - verzameling sleutels( ) met betekenis - isempty, insert(k,i), find(k), delete(k)

26 zoeken op sleutel (uniek) implementaties: adt: dictionary lijsten bomen geordend - ongeordend array - pointer skip lists binaire zoekboom, trie (strings) VL boom, B-bomen, red-black zelforganiserend move-to-front (ongeordende lijst) splay tree (binaire zoekboom) astabellen

27 skip lists perfect praktijk: random oogtes DM: cult data structure

28 binaire zoekboom (bzb) LWR-ordening K <K >K O(n) vs. O(lg n)

29 of binaire zoekboom (Knut) and a as are at for in be e by ad is but from ave er I is it tat on not te or tis to was wit wic optimaal vgl you

30 te binaire zoekboom (Knut) a are and as at of in I for be e by ave but ad on is it is er or not tat tis to was wit you wic gretig 4.04 vgl from

31 verwijderen in bzb : twee kinderen? verwissel knoop met voorganger geen r-kind : verwijder knoop, en verbind enig kind met grootouder basismetode, zie VL- en B-bomen

32 binaire boom 3 uitgebreide boom padlengte I= = interne padlengte I externe padlengte E E= =5 succes: (I+n)/n mis: E/(n+) E = I + n zoeken in bzb

33 3 4 4! volgordes 4 bomen gemiddelde boom spiegelbeelden padlengte gemiddeld 4 5 / 6 4 8x 4x x

34 gemiddelde boom geldt ook voor n Weiss: p.4,78/9 I n = n- + (I 0 +I +...+I n- )/n I n- =n-+ (I 0 +I +I +...+I n- )/(n-) aftrekken dan n I n -(n-) I n- = n-+ I n- I n /(n+) = I n- /n + /(n+) - /n (n+) I n- /n = I n- /(n-) + /n - /(n-) n... I / = I 0 / + / - / O(ln n) n/(n+)

35 b a- f(x)dx b i= a f(i) b+ a f(x)dx afscatten a vb. b n n+ i x i= stijgende functie! bij dalende functie tekens omklappen n+ [ ln x] = ln(n ) dx = + n i= n n n [ ln x] = ln(n) = + + dx = + + i i x i=

36 zoekbomen: rotaties B B 3 3 enkele rotatie (naar rects) c 4 B 3 B c 3 4 gebruikt in VL, red-black, BB- -, splay, treap dubbele rotatie (naar rects)

37

38 delson-velskii & Landis (96) - binaire zoekboom & oogte gebalanceerd: verscil oogte R-L is -,0,+ + VL bomen oogte logaritmisc in aantal knopen erstel mbv. rotaties toevoegen max. één rotatie verwijderen eraalde rotaties 0 + implementatie recursief vs. top-down iteratief balans vs. expliciete oogte +

39 (toevoegen linkerzijde, recterzijde symmetrisc) VL-bomen: toevoegen +/0 + 0/- -/- + 0 B + + kijk bottom-up +/0 oogte verandert niet. stop. 0/- oogte subboom neemt toe. vervolg bij ouder. -/- erstel balans met rotatie oogte als oorspronkelijk. stop. maximaal één (dubbele) rotatie

40 VL-bomen: toevoegen 0/± voor/na laagste 0 ±/±0 ok ±/± dan rotatie

41 B -/- laagste punt met balans 0 VL-bomen: rotaties 0/+ + 0/- B c -/- 0/± + + enkele rotatie + + B B 0 + c of B 0 c of dubbele rotatie (óók: B zèlf toegevoegd)

42 VL-bomen: toevoegen vb. 0/+ 0/+ 0/- 0/- B B C +/0 0/- 4 3 C -/- 0/- 3 4 LR 0 top-down kijk naar laagste punt met balans 0 + B 0 3 C + 4

43 VL-bomen: verwijderen - - 0/+ +/+ - - B B totale oogte boom verandert niet (klaar) -/ /+ - B + 0 B oogte verandert: bekijk effect ogerop

44 VL verwijderen: gevallen voor 0,- na +/+ C ε B - B C 0,+ - +/+ C C oogte ok! - al gezien /+ - C C

45 VL verwijderen: keuze + + +/+ B + C 0 +/+ ε B C RR RL -,0 + B + B C C of keuze tussen twee rotaties beter enkel problemen als ε=-, =- 0 B + - C + +

46 VL verwijderen: voorbeeld verwijderen weer andere oogte etc.

47 maximale oogte VL-bomen minimaal aantal knopen n bij oogte f : ϕ : f = + f - + f ( ) ( ) φ = ϕ + - n lg(n+),4 lg(n+) - 0,3

48 Bayer McCreigt (97) grote bestanden, externe opslag B-bomen gegeneraliseerde zoekboom: meerdere kinderen B-boom van orde m max m kinderen min m/ kinderen (uitgez. wortel) uniforme oogte sleutel tussen kinderen (één sleutel minder dan kinder)

49 m=5: max 5 kind, 4 sleutels min 3 kind, sleutels B-bomen: toevoegen

50 m=5: max 5 kind, 4 sleutels min 3 kind, sleutels B-bomen: toevoegen (3) () ()

51 B-bomen: verwijderen voorganger uit blad alen. blad verwijderen 3. evt. lenen van buur - via ouder m=5: max 5 kind, 4 sleutels min 3 kind, sleutels

52 B-bomen: verwijderen voorganger uit blad alen. blad verwijderen 3. evt. lenen van buur - via ouder kan niet samenvoegen m=5: max 5 kind, 4 sleutels min 3 kind, sleutels

53 B F red-black trees C D E G H boom orde m=4 F B D C E 7 B C 3 4 G H 8 9 F D E G H oriz-vert rood-zwart

54 rood-zwart definitie rood-zwart boom binaire zoekboom knopen zwart of rood gelijk aantal zwarte knopen op elk pad van wortel naar extern blad rode knoop eeft geen rood kind wortel is zwart B F B-boom van orde 4 sleutel tussen kinderen uniforme oogte min kinderen (uitgez. wortel) max 4 kinderen B F B F C D E C D E

55 toevoegen in -4 boom rood-zwart toevoegen erstel rood-zwart boom oom rood flag flip oom zwart dubb. rot toegevoegd 44

56 toevoegen: rode knoop, top-down als bzb & B-boom rood-zwart operaties rotatie: erstel vorm rood-zwart knoop-cluster oom zwart rotatie flag flip: bottom-up splitsen knopen oom rood flag flip nieuw rood wortel: zwart maken wanneer rood

57 m- m/ - m/ - top-down B-boom top-down: bij toevoegen langs pad maximale knopen alvast splitsen:- onderaan plek vrij m=4 & rood-zwart 5 8 flag x dubb. flip rot x geen rood-rood?!

58 sleutels S K adressen asen synoniemen botsingen keuze adresfunctie snel te berekenen goede spreiding clustering primair, secundair zoeken in O() tijd mits weinig botsingen en clustering tabelgrootte adresfunctie aanbod sleutels

59 sleutels perfecte astabel K S adressen statisc gebruik: S bekend te bepalen zonder botsingen x ε S? bepaal (x) kijk op adres (x): x aanwezig x ε S andere sleutel x ε S

60 perfecte astabel vb. do 3 end 4 else 5 case 6 downto 7 goto 8 to 9 oterwise 0 type wile const 3 div 4 and 5 set 6 or 7 of 8 mod 9 file 0 record packed not 3 ten 4 procedure 5 wit 6 repeat 7 var 8 in 9 array 30 if 3 nil 3 for 33 begin 34 until 35 label 36 function 37 program (begin) = = 33 (ulp) = = 34 (forward) = = a l 5 u 4 b 5 m 5 v 0 c n 3 w 6 f 5 p 5 y 3 g 3 r 4 5 s 6 rest 0 i 3 t 6 (key) = L + g(key[]) + g(key[l]) lengte Cicelli

61 truncation eerste/laatste bits extraction keuze uit bits (let op!) folding tel segmenten op mid-squaring kwadrateer, neem midden slect bij nullen as-functies radix-conversion c l c c 0 Σ c i 56 i a Σ c i α i = 0 = α+c i bv. α=65599 ( 6 ) (i=l 0) division mod M M ar b ±c M= r dan laatste bits veel keuze oneven p(k) M priem eel mooi! p(k) = K mod(m-) + òf mod(m-) multiplication adres fract(φk) M φ irrationeel

62 voorbeeld C++ compiler /* Return a as-code for te string. */ as_table_key k; { s = (const unsigned car *) k; as = 0; len =0; wile ( (c=*s++)!= \0 ) { as += c + (C << 7); as ^= as >> ; ++len; } as += len + (len << 7); as ^= as >> ; return as; }

63 voorbeeld compiler boek PJ Weinberger C compiler = (<<4)+(*c); if (g = &0xf ) { = ^(g>>4); = ^g; } 0000 g>>4 xor 3 bits cccc

64 caining buckets asen met lijsten lijst xx vast aantal xx xx xx extendible asing

65 asen: open adressering adressen 0,,, M- (tabelgrootte M) pogingen op (K,0)=(K), (K,),, (K,M-) vormen permutatie van adressen lineair: (K,i) = (K) - i c (mod M) toegestaan: ggd(c,m)= pseudo-random: (K,i) = (K) - r i (mod M) r 0 =0,r,, r M- permutatie adressen kwadratisc: (K,i) = (K) - i (mod M) mits M priem, M 3 (mod 4) dubbel: (K,i) = (K) - i p(k) (mod M) p stapfunctie probe function adresfunctie as function onafankelijk: p niet uit te berekenen

66 asen: open adressering lineair primair clusteren buren liggen in elkaars pad secundair clusteren synoniemen volgen zelfde pad (pseudorandom, kwadratisc) dubbel: onafankelijk stapgrootte

67 stapgrootte lineair asen (K,i) = (K mod 0) - 3 i orden tabel anders veel stappen (K,i) = (7 K mod 0) - i

68 asen: verwact aantal zoekstappen vinden plaatsen lineair secundair dubbel ( + ln α + α ln α α ) α α ( + + ln ( α) α α ) α α vulgraad lineair (K)-i c secundair gelijk zoekpad op zelfde adres dubbel (K)-i p(k) p onafankelijk van

69 asen: verwact aantal (plaatje) lineair secundair dubbel 4 0 y vinden ( + ) + ln ln α α α α α plaatsen ( + ) α + ln ( α) α α α x

70 algoritm design manual says: Input description: set of n records, eac identified by one or more key fields. dictionaries Problem description: Build and maintain a data structure to efficiently locate, insert, or delete te record associated wit any query key q. Discussion: [..] In practice, it is more important to avoid using a bad data structure tan to identify te single best option available. How many items te relative number of insertions, deletions, and searc queries?... relative frequency wit wic different keys will be accessed?... individual operations be fast, or... te total amount of work done... be minimized?

Datastructuren Uitwerking jan

Datastructuren Uitwerking jan Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties

Nadere informatie

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort

Elfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort Algoritmiek 018/Algoritme van Dijkstra Elfde college algoritmiek 18 mei 018 Algoritme van Dijkstra, Heap, Heapify & Heapsort 1 Algoritmiek 018/Algoritme van Dijkstra Uit college 10: Voorb. -1- A B C D

Nadere informatie

Datastructuren Uitwerking jan

Datastructuren Uitwerking jan Datastructuren Uitwerking jan 16 1 1a) Een ADT wordt gekenmerkt door de opgeslagen gegevens en de beschikbare operaties. De Priority Queue bevat en verzameling elementen waarbij elk element en eigen waarde

Nadere informatie

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify

Twaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify Algoritmiek 2016/Branch & Bound Twaalfde college algoritmiek 13 mei 2016 Branch & Bound Heap, Heapsort & Heapify 1 Algoritmiek 2016/Branch & Bound TSP met Branch & Bound Mogelijke ondergrenzen voor de

Nadere informatie

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren Achtste college algoritmiek 12 april 2019 Verdeel en Heers Dynamisch Programmeren 1 Uit college 7: Partitie Partitie Partitie(A[l r]) :: // partitioneert een (sub)array, met A[l] als spil (pivot) p :=

Nadere informatie

Zevende college algoritmiek. 24 maart Verdeel en Heers

Zevende college algoritmiek. 24 maart Verdeel en Heers Zevende college algoritmiek 24 maart 2016 Verdeel en Heers 1 Verdeel en heers 1 Divide and Conquer 1. Verdeel een instantie van het probleem in twee (of meer) kleinere instanties 2. Los de kleinere instanties

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 14 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Willekeurig gebouwde zoekbomen Willekeurig gebouwde zoekbomen Hoogte van zoekboom met

Nadere informatie

De volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden.

De volgende opgave gaat over de B-bomen van het college, waar sleutels zowel in de bladeren als ook in de interne knopen opgeslagen worden. . a) Een Fibonacci boom (niet te verwarren met een Fibonacci queue) van hoogte h is een AVL-boom van hoogte h met zo weinig mogelijk knopen. i. Geefvoorh =,,,,eenfibonacciboomvanhoogteh(eenboombestaande

Nadere informatie

Elfde college algoritmiek. 10 mei Algoritme van Dijkstra, Gretige Algoritmen

Elfde college algoritmiek. 10 mei Algoritme van Dijkstra, Gretige Algoritmen lgoritmiek 019/lgoritme van ijkstra lfde college algoritmiek 10 mei 019 lgoritme van ijkstra, Gretige lgoritmen 1 lgoritmiek 019/ynamisch programmeren Programmeeropdracht 3 Lange Reis 0 10 10 1 1 100 0

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Zevende college Algoritmiek. 6 april Verdeel en Heers

Zevende college Algoritmiek. 6 april Verdeel en Heers Zevende college Algoritmiek 6 april 2018 Verdeel en Heers 1 Algoritmiek 2018/Backtracking Programmeeropdracht 2 Puzzel 2: D O N A L D G E R A L D + R O B E R T Elke letter stelt een cijfer voor (0,1,...,9)

Nadere informatie

Zevende college algoritmiek. 23/24 maart Verdeel en Heers

Zevende college algoritmiek. 23/24 maart Verdeel en Heers Zevende college algoritmiek 23/24 maart 2017 Verdeel en Heers 1 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht 0 1 2 3 0 1 2 3 4 1 2 3 4 5 2 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht

Nadere informatie

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort)

Zevende college complexiteit. 7 maart Mergesort, Ondergrens sorteren (Quicksort) College 7 Zevende college complexiteit 7 maart 2017 Mergesort, Ondergrens sorteren (Quicksort) 1 Inversies Definitie: een inversie van de permutatie A[1],A[2],...,A[n] is een paar (A[i],A[j]) waarvoor

Nadere informatie

Twaalfde college algoritmiek. 23 mei Branch & Bound, Heapsort

Twaalfde college algoritmiek. 23 mei Branch & Bound, Heapsort College 12 Twaalfde college algoritmiek 23 mei 2013 Branch & Bound, Heapsort 1 Handelsreizigersprobleem Traveling Salesman Problem (handelsreizigersprobleem) Gegeven n steden waarvan alle onderlinge afstanden

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 9 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Zoekbomen Binaire boom Bestaat uit knopen Beginknoop is de wortel (root) Elke knoop heeft

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:

Nadere informatie

Elementary Data Structures 3

Elementary Data Structures 3 Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer

Nadere informatie

Minimum Opspannende Bomen. Algoritmiek

Minimum Opspannende Bomen. Algoritmiek Minimum Opspannende Bomen Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee greedy algoritmen + tijd en datastructuren: Het algoritme van

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 2 november 2016 Leo van Iersel (TUD) TW2020 Optimalisering 2 november 2016 1 / 28 Minimum Opspannende Boom (Minimum Spanning

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 11 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Heaps en heapsort Heap 1 2 3 4 5 6 7 8 9 10 16 14 10 8 7 9 3 2 4 1 16 14 10 8 7 9 3

Nadere informatie

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort College 7 Zevende college complexiteit 17 maart 2008 Ondergrens sorteren, Quicksort 1 Sorteren We bekijken sorteeralgoritmen gebaseerd op het doen van vergelijkingen van de vorm A[i] < A[j]. Aannames:

Nadere informatie

Datastructuren en Algoritmen voor CKI

Datastructuren en Algoritmen voor CKI Ω /texmf/tex/latex/uubeamer.sty-h@@k 00 /texmf/tex/latex/uubeamer.sty Datastructuren en Algoritmen voor CKI Vincent van Oostrom Clemens Grabmayer Afdeling Wijsbegeerte Hoorcollege 5 16 februari 2009 Waar

Nadere informatie

Algoritmiek. 15 februari Grafen en bomen

Algoritmiek. 15 februari Grafen en bomen Algoritmiek 15 februari 2019 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices) en E een verzameling van

Nadere informatie

TW2020 Optimalisering

TW2020 Optimalisering TW2020 Optimalisering Hoorcollege 8 Leo van Iersel Technische Universiteit Delft 28 oktober 2015 Leo van Iersel (TUD) TW2020 Optimalisering 28 oktober 2015 1 / 25 Definitie Een boom is een samenhangende

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 2 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Priority queue Priority queue ADT insert(q, x): voeg element x toe aan de queue maximum(q):

Nadere informatie

Basic operations Implementation options

Basic operations Implementation options Priority Queues Heaps Heapsort Student questions EditorTrees WA 6 File Compression Graphs Hashing Anything else Written Assignments 7 and 8 have been updated for this term. Each of them is smaller than

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Zesde college complexiteit. 19 maart Mergesort, Ondergrens sorteren Quicksort, Shellsort

Zesde college complexiteit. 19 maart Mergesort, Ondergrens sorteren Quicksort, Shellsort College 6 Zesde college complexiteit 19 maart 2019 Mergesort, Ondergrens sorteren Quicksort, Shellsort 1 Vorige keer Voor sorteeralgoritmen gebaseerd op arrayvergelijkingen, waarbij per arrayvergelijking

Nadere informatie

Amorized Analysis en Union-Find Algoritmiek

Amorized Analysis en Union-Find Algoritmiek Amorized Analysis en Union-Find Vandaag Amortized analysis Technieken voor tijdsanalyse van algoritmen Union-find datastructuur Datastructuur voor operaties op disjuncte verzamelingen Verschillende oplossingen

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2005 2006, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Splaybomen

Nadere informatie

Ziv-Lempel-Welch Compressie

Ziv-Lempel-Welch Compressie Ziv-Lempel-Welch Compressie Datastructuren, najaar 1998, tweede programmeeropdracht Het ZLW-algoritme Het ZLW compressie algoritme codeert teksten door daarin strings van variabele lengte om te zetten

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Java Programma structuur

Java Programma structuur Java Programma structuur public class Bla // div. statements public static void main(string argv[]) // meer spul Voortgezet Prog. voor KI, week 4:11 november 2002 1 Lijsten Voorbeelden 2, 3, 5, 7, 13 Jan,

Nadere informatie

Tweede college algoritmiek. 12 februari Grafen en bomen

Tweede college algoritmiek. 12 februari Grafen en bomen College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Vierde college complexiteit. 14 februari Beslissingsbomen

Vierde college complexiteit. 14 februari Beslissingsbomen College 4 Vierde college complexiteit 14 februari 2017 Restant zoeken Beslissingsbomen 1 Binair zoeken Links := 1; Rechts := n; while Links Rechts do Midden := Links + Rechts 2 ; if X = A[Midden] then

Nadere informatie

Uitwerking tentamen Algoritmiek 9 juni :00 17:00

Uitwerking tentamen Algoritmiek 9 juni :00 17:00 Uitwerking tentamen Algoritmiek 9 juni 2015 14:00 17:00 1. Clobber a. Toestanden: m x n bord met in elk hokje een O, een X of een -. Hierbij is het aantal O gelijk aan het aantal X of er is hooguit één

Nadere informatie

O(1) ZOEKMETHODEN: HASH TECHNIEKEN. Dr. D.P. Huijsmans 24 okt 2012 Universiteit Leiden LIACS

O(1) ZOEKMETHODEN: HASH TECHNIEKEN. Dr. D.P. Huijsmans 24 okt 2012 Universiteit Leiden LIACS O(1) ZOEKMETHODEN: HASH TECHNIEKEN 1 Dr. D.P. Huijsmans 24 okt 2012 Universiteit Leiden LIACS SNEL ZOEKEN IN ONGESORTEERDE DATA Vroege computer toepassingen waren vaak gebaseerd op grote gesorteerde bestanden;

Nadere informatie

Datastructuren; (Zoek)bomen

Datastructuren; (Zoek)bomen Datastructuren; (Zoek)bomen Bomen, zoekbomen, gebalanceerde zoekbomen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren; (Zoek)bomen 1 / 50 Bomen Traversal van bomen Datastructuur van

Nadere informatie

Het minimale aantal sleutels op niveau h is derhalve

Het minimale aantal sleutels op niveau h is derhalve 1 (a) In een B-boom van orde m bevat de wortel minimaal 1 sleutel en maximaal m 1 sleutels De andere knopen bevatten minimaal m 1 sleutels en maximaal m 1 sleutels (b) In een B-boom van orde 5 bevat elke

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 30 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Dynamische verzamelingen Stack implementaties Array met maximale grootte Linked List

Nadere informatie

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Achtste college algoritmiek. 8 april Dynamisch Programmeren Achtste college algoritmiek 8 april 2016 Dynamisch Programmeren 1 Werkcollege-opgave Dutch Flag Problem Gegeven een array gevuld met R, W, en B. Reorganiseer dit array zo dat van links naar rechts eerst

Nadere informatie

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 10 Bomen 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 1 Baarn Hilversum Soestdijk Den Dolder voorbeelden route boom beslisboom Amersfoort Soestduinen + 5 * + 5.1 5.2 5.3 5.4 2 3 * * 2 5.3.1

Nadere informatie

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen. deel 2. Tiende college

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen. deel 2. Tiende college 10 Bomen deel 2 Tiende college 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 1 arboretum ongericht 8.8 tree graphs 9.4 rooted trees ch.10 binary trees 2 gericht geordend links/rechts bomen

Nadere informatie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie Complexiteit 2016/04 College 4 Vierde college complexiteit 16 februari 2016 Beslissingsbomen en selectie 1 Complexiteit 2016/04 Zoeken: samengevat Ongeordend lineair zoeken: Θ(n) sleutelvergelijkingen

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

2WO12: Optimalisering in Netwerken

2WO12: Optimalisering in Netwerken 2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TU/E) en Centrum Wiskunde & Informatica (CWI) 27 februari 2014 http://homepages.cwi.nl/~iersel/2wo12/ l.j.j.v.iersel@gmail.com

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: stapels, rijen en binaire bomen Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)

Nadere informatie

Stacks and queues. Hoofdstuk 6

Stacks and queues. Hoofdstuk 6 Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked

Nadere informatie

De symmetrische min-max heap

De symmetrische min-max heap De symmetrische min-max heap Tweede programmeeropdracht Datastructuren, najaar 2006 De symmetrische min-max heap (SMM heap) is een datastructuur waarin getallen (of andere elementen met een lineaire ordening)

Nadere informatie

5.4.2 a. Neen: dit lukt alléén met 1, 3, 7 enzovoort. b. Ja: dit lukt met elk aantal knopen! Bijvoorbeeld de volgende boom: 1

5.4.2 a. Neen: dit lukt alléén met 1, 3, 7 enzovoort. b. Ja: dit lukt met elk aantal knopen! Bijvoorbeeld de volgende boom: 1 c. het langste gerichte pad: 4 2 3 met lengte twee. d. het langste on -gerichte pad is oneindig lang: je mag bijvoorbeeld voortdurend tussen twee knopen heen en weer wandelen. e. ja: elke knoop heeft maximaal

Nadere informatie

Kortste Paden. Algoritmiek

Kortste Paden. Algoritmiek Kortste Paden Toepassingen Kevin Bacon getal Six degrees of separation Heeft een netwerk de small-world eigenschap? TomTom / Google Maps 2 Kortste paden Gerichte graaf G=(N,A), en een lengte L(v,w) voor

Nadere informatie

Datastructuren en Algoritmen

Datastructuren en Algoritmen Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen

Nadere informatie

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen. WIS14 1 14 Grafen 14.1 Grafen Gerichte grafen Voor een verzameling V is een binaire relatie op V een verzameling geordende paren van elementen van V. Voorbeeld: een binaire relatie op N is de relatie KleinerDan,

Nadere informatie

Introductie in flowcharts

Introductie in flowcharts Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,

Nadere informatie

Datamodelleren en databases 2011

Datamodelleren en databases 2011 Datamodelleren en databases 21 Capita selecta 1 In dit college Modelleren Normaliseren Functionele afhankelijkheid 1-3N M:N-relaties, associatieve entiteittypes, ternaire relaties Weak entiteittypes Multivalued

Nadere informatie

Schriftelijk tentamen Datastructuren Woe 5 jan uur Met uitwerkingen

Schriftelijk tentamen Datastructuren Woe 5 jan uur Met uitwerkingen Schriftelijk tentamen Datastructuren Woe 5 jan 2011 14-17 uur Met uitwerkingen 1.a. Geef een compacte definitie van wat er bij Datastructuren verstaan wordt onder een Abstract Data Type (ADT). b. Werk

Nadere informatie

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument Complexiteit 2019/04 College 4 Vierde college complexiteit 26 februari 2019 Beslissingsbomen en selectie Toernooimethode Adversary argument 1 Complexiteit 2019/04 Zoeken: samengevat Ongeordend lineair

Nadere informatie

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011 15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke

Nadere informatie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 3 maart 2008 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren

Nadere informatie

Indexen.

Indexen. Indexen joost.vennekens@kuleuven.be Probleem Snel gegevens terugvinden Gegevens moeten netjes geordend zijn Manier waarop hangt af van gebruik Sequentieel Gesorteerde gegevens, die in volgorde overlopen

Nadere informatie

Kortste Paden. Algoritmiek

Kortste Paden. Algoritmiek Kortste Paden Vandaag Kortste Paden probleem All pairs / Single Source / Single Target versies DP algoritme voor All Pairs probleem (Floyd s algoritme) Dijkstra s algoritme voor Single Source Negatieve

Nadere informatie

29 november 2012 Hashing. Een tijd-ruimte afweging Hashfuncties

29 november 2012 Hashing. Een tijd-ruimte afweging Hashfuncties Hashing Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 november 2012 ODE/FHTBM Hashing 29 november 2012 1/30 Hashing Een typisch gebruik van de implementatie

Nadere informatie

Implementatie en toepassing van de trie

Implementatie en toepassing van de trie Implementatie en toepassing van de trie Tweede programmeeropdracht Datastructuren, najaar 2007 Een Trie is een char-aire boom, dwz. een boom waarvan knopen voor elk van de elementen van het type char (

Nadere informatie

Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep.

Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep. Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht

Nadere informatie

Minimum Spanning Tree

Minimum Spanning Tree Minimum Spanning Tree Wat is MST? Minimum spanning tree De meest efficiënte manier vinden om een verbonden netwerk op te bouwen Wat is een tree/boom? Graaf G: een verzameling knopen (vertices): V een verzameling

Nadere informatie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 23 februari 2009 GRAFEN & BOMEN Paragrafen 6.1-6.4 Discrete Structuren Week 3 en 4:

Nadere informatie

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search Algoritmiek 2018/Toestand-actie-ruimte Vierde college algoritmiek 2 maart 2018 Toestand-actie-ruimte Exhaustive Search 1 Algoritmiek 2018/Toestand-actie-ruimte Kannen Voorbeeld 4: Kannenprobleem We hebben

Nadere informatie

Greedy algoritmes. Algoritmiek

Greedy algoritmes. Algoritmiek Greedy algoritmes Algoritmiek Algoritmische technieken Trucs, methoden, paradigma s voor het ontwerpen van algoritmen Dynamisch Programmeren Divide & Conquer Greedy 2 Greedy algoritme Bouwt de oplossing

Nadere informatie

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen. deel 1. Negende college

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen. deel 1. Negende college 10 Bomen deel 1 Negende college 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 1 typen bomen Er zijn drie verschillende typen bomen, die in Schaum over verschillende hoofdstukken verdeeld

Nadere informatie

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST

Twaalfde college complexiteit. 11 mei 2012. Overzicht, MST College 12 Twaalfde college complexiteit 11 mei 2012 Overzicht, MST 1 Agenda voor vandaag Minimum Opspannende Boom (minimum spanning tree) als voorbeeld van greedy algoritmen Overzicht: wat voor technieken

Nadere informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

2 Recurrente betrekkingen

2 Recurrente betrekkingen WIS2 1 2 Recurrente betrekkingen 2.1 Fibonacci De getallen van Fibonacci Fibonacci (= Leonardo van Pisa), 1202: Bereken het aantal paren konijnen na één jaar, als 1. er na 1 maand 1 paar pasgeboren konijnen

Nadere informatie

Stacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49

Stacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49 Stacks and queues Introductie 45 Leerkern 45 6.1 Stacks 45 6.2 Queues 47 6.3 Double-ended queues 48 Terugkoppeling 49 Uitwerking van de opgaven 49 Bijlage: Diagrammen belangrijkste interfaces en klassen

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: stapels, rijen en binaire bomen Programmeermethoden : stapels, rijen en binaire bomen Walter Kosters week 12: 26 30 november 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 en Vierde programmeeropgave Othello programmeren we als volgt:

Nadere informatie

Normaliseren versie 1.1

Normaliseren versie 1.1 Normaliseren versie 1.1 Datamodellering 27 1 Wat is normaliseren? Data organiseren in tabelvorm, zó dat: er minimale redundantie is update operaties (toevoegen, wijzigen, verwijderen) eenvoudig zijn uit

Nadere informatie

Doorzoeken van grafen. Algoritmiek

Doorzoeken van grafen. Algoritmiek Doorzoeken van grafen Algoritmiek Vandaag Methoden om door grafen te wandelen Depth First Search Breadth First Search Gerichte Acyclische Grafen en topologische sorteringen 2 Doolhof start eind 3 Depth

Nadere informatie

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd. BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is

Nadere informatie

Derde college complexiteit. 7 februari Zoeken

Derde college complexiteit. 7 februari Zoeken College 3 Derde college complexiteit 7 februari 2017 Recurrente Betrekkingen Zoeken 1 Recurrente betrekkingen -1- Rij van Fibonacci: 0,1,1,2,3,5,8,13,21,... Vanaf het derde element: som van de voorgaande

Nadere informatie

Opgaven Zoekbomen Datastructuren, 15 juni 2016, Werkgroep.

Opgaven Zoekbomen Datastructuren, 15 juni 2016, Werkgroep. Opgaven Zoekbomen Datastructuren, 15 juni 2016, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven.

Nadere informatie

Tweede Toets Datastructuren 26 juni 2019, , Educ-β.

Tweede Toets Datastructuren 26 juni 2019, , Educ-β. Tweede Toets Datastructuren 26 juni 2019, 17.00 19.00, Educ-β. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert

Nadere informatie

Insertion: neem item, kijk waar het moet tussengeplaatst worden Selection: neem grootste->1, 2 e grootste->2 Bubble: vergelijk en wissel om

Insertion: neem item, kijk waar het moet tussengeplaatst worden Selection: neem grootste->1, 2 e grootste->2 Bubble: vergelijk en wissel om LES 1 Quick Find Array: verbonden indien index gelijk F: cst U: N Quick Union Boom: verbonden indien root gelijk F: kan N, kan M N/2 U: cst Weighted Quick Union boom+lengte: verplaatst kleinste boom perf:

Nadere informatie

Preschool Kindergarten

Preschool Kindergarten Preschool Kindergarten Objectives Students will recognize the values of numerals 1 to 10. Students will use objects to solve addition problems with sums from 1 to 10. Materials Needed Large number cards

Nadere informatie

ALGORITMIEK: answers exercise class 7

ALGORITMIEK: answers exercise class 7 Problem 1. See slides 2 4 of lecture 8. Problem 2. See slides 4 6 of lecture 8. ALGORITMIEK: answers exercise class 7 Problem 5. a. Als we twee negatieve (< 0) getallen bij elkaar optellen is het antwoord

Nadere informatie

Opgaven Zoekbomen Datastructuren, 20 juni 2018, Werkgroep.

Opgaven Zoekbomen Datastructuren, 20 juni 2018, Werkgroep. Opgaven Zoekbomen Datastructuren, 20 juni 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven.

Nadere informatie

4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e

4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 4EE11 Project Programmeren voor W College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Grotere programma s ontwerpen/maken Datastructuren en algoritmes 2 Evolutie,

Nadere informatie

Uitwerking tentamen Algoritmiek 10 juni :00 13:00

Uitwerking tentamen Algoritmiek 10 juni :00 13:00 Uitwerking tentamen Algoritmiek 10 juni 2014 10:00 13:00 1. Dominono s a. Toestanden: n x n bord met in elk hokje een O, een X of een -. Hierbij is het aantal X gelijk aan het aantal O of hooguit één hoger.

Nadere informatie

Lineaire data structuren. Doorlopen van een lijst

Lineaire data structuren. Doorlopen van een lijst Lineaire data structuren array: vast aantal data items die aaneensluitend gestockeerd zijn de elementen zijn bereikbaar via een index lijst: een aantal individuele elementen die met elkaar gelinkt zijn

Nadere informatie

Tweede Toets Datastructuren 29 juni 2016, , Educ-Γ.

Tweede Toets Datastructuren 29 juni 2016, , Educ-Γ. Tweede Toets Datastructuren 29 juni 2016, 13.30 15.30, Educ-Γ. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe

Nadere informatie

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:

Nadere informatie

O(1) ZOEKMETHODEN: HASH TECHNIEKEN. Dr. D.P. Huijsmans College 7 16 okt 2013 Universiteit Leiden LIACS

O(1) ZOEKMETHODEN: HASH TECHNIEKEN. Dr. D.P. Huijsmans College 7 16 okt 2013 Universiteit Leiden LIACS O(1) ZOEKMETHODEN: HASH TECHNIEKEN 1 Dr. D.P. Huijsmans College 7 16 okt 2013 Universiteit Leiden LIACS SNEL ZOEKEN IN ONGESORTEERDE DATA Vroege computer toepassingen waren vaak gebaseerd op grote gesorteerde

Nadere informatie

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/ Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

Tree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen

Tree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree traversal 15 november

Nadere informatie

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie

Nadere informatie

DATASTRUCTUREN. najaar leesboek. R. van Vliet. H.J. Hoogeboom. Opleiding Informatica. Universiteit Leiden

DATASTRUCTUREN. najaar leesboek. R. van Vliet. H.J. Hoogeboom. Opleiding Informatica. Universiteit Leiden leesboek DATASTRUCTUREN dictaat najaar 2004 R. van Vliet H.J. Hoogeboom Opleiding Informatica Universiteit Leiden Fouten in de bundel kunt u melden bij R. van Vliet, rvvliet@liacs.nl. Inhoudsopgave 1 Data

Nadere informatie

Dealer instructie. SE serie 2008 versie 009

Dealer instructie. SE serie 2008 versie 009 Dealer instructie SE serie 2008 versie 009 Inhoudsopgave 1 Dealer F.A.Q... 3 1.1 Dealer frequently Asking Questions... 3 1.2 Initalisatiecodes... 4 1.3 Grafisch bericht (=grafische commerciële boodschap)...

Nadere informatie

DATASTRUCTUREN LIJSTEN. Dr. D.P. Huijsmans 12 sept 2012 Universiteit Leiden, LIACS

DATASTRUCTUREN LIJSTEN. Dr. D.P. Huijsmans 12 sept 2012 Universiteit Leiden, LIACS DATASTRUCTUREN LIJSTEN Dr. D.P. Huijsmans 12 sept 2012 Universiteit Leiden, LIACS EEN ANALOGIE VOOR ABSTRACTE DATATYPEN (ADT) ADT: architectuur + functionaliteit Woon/werk elementen, adressering Mogelijkheden

Nadere informatie