{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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra

Tiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten

Nadere informatie

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur

Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 5 juni 2007, uur Uitgebreide uitwerking tentamen Algoritmiek Dinsdag juni 00, 0.00.00 uur Opgave. a. Een toestand bestaat hier uit een aantal stapels, met op elk van die stapels een aantal munten (hooguit n per stapel).

Nadere informatie

DATASTRUCTUREN LIJSTEN. Dr. D.P. Huijsmans 2e college Leiden 11 sept 2013 Universiteit Leiden, LIACS

DATASTRUCTUREN LIJSTEN. Dr. D.P. Huijsmans 2e college Leiden 11 sept 2013 Universiteit Leiden, LIACS DATASTRUCTUREN LIJSTEN 1 Dr. D.P. Huijsmans 2e college Leiden 11 sept 2013 Universiteit Leiden, LIACS EEN ANALOGIE VOOR ABSTRACTE DATATYPEN (ADT) ADT: architectuur + functionaliteit Woon/werk elementen,

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

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automaten & Complexiteit (X 401049) Beschrijven van reguliere talen Jeroen Keiren j.j.a.keiren@gmail.com VU University Amsterdam 5 Februari 2015 Talen Vorig college: Talen als verzamelingen Eindige automaten:

Nadere informatie

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,

Nadere informatie

Programmeermethoden NA. Week 6: Lijsten

Programmeermethoden NA. Week 6: Lijsten Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal

Nadere informatie

Hoofdstuk 9. Hashing

Hoofdstuk 9. Hashing Hoofdstuk 9 Hashing Het zoeken in een verzameling van één object is in deze cursus al verschillende malen aan bod gekomen. In hoofdstuk 2 werd uitgelegd hoe men een object kan zoeken in een array die veel

Nadere informatie

Grafen en BFS. Mark Lekkerkerker. 24 februari 2014

Grafen en BFS. Mark Lekkerkerker. 24 februari 2014 Grafen en BFS Mark Lekkerkerker 24 februari 2014 1 Grafen Wat is een graaf? Hoe representeer je een graaf? 2 Breadth-First Search Het Breadth-First Search Algoritme Schillen De BFS boom 3 Toepassingen

Nadere informatie

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden

Nadere informatie

Tweede Toets Datastructuren 28 juni 2017, , Educ-β.

Tweede Toets Datastructuren 28 juni 2017, , Educ-β. Tweede Toets Datastructuren 28 juni 2017, 13.30 15.30, 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

Dynamisch Programmeren III. Algoritmiek

Dynamisch Programmeren III. Algoritmiek Dynamisch Programmeren III Vandaag Dynamisch programmeren met wat lastiger voorbeelden: Handelsreiziger Longest common subsequence Optimale zoekbomen Knapsack 2 - DP2 Handelsreiziger Een handelsreiziger

Nadere informatie

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT TELETASK Handbook Multiple DoIP Central units DALISOFT 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool Connect the TDS20620V2 If there is a TDS13620 connected to the DALI-bus, remove it first.

Nadere informatie

Bouwstenen voor PSE. Datatypes en Datastructuren

Bouwstenen voor PSE. Datatypes en Datastructuren Bouwstenen voor PSE Datatypes en Datastructuren Definitie Datatype Klasse van dataobjecten tesamen met operaties om ze te construeren, te manipuleren en te verwijderen. Een datatype omvat een specificatie

Nadere informatie

Oefeningen voor de oefeningenles. Oefening 1

Oefeningen voor de oefeningenles. Oefening 1 Oefeningen voor de oefeningenles Oefening 1 Gegeven een arbitraire binaire zoekboom T met n toppen en een (andere of gelijke) binaire zoekboom T die ook n sleutels bevat. Beschrijf een algoritme dat in

Nadere informatie

Tiende college algoritmiek. 26 april Gretige algoritmen

Tiende college algoritmiek. 26 april Gretige algoritmen Algoritmiek 01/10 College 10 Tiende college algoritmiek april 01 Gretige algoritmen 1 Algoritmiek 01/10 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag

Nadere informatie

TECHNISCHE UNrVERSITElT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica

TECHNISCHE UNrVERSITElT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica TECHNISCHE UNrVERSITElT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica TWl(0)9O Inleiding Programmeren Tentamen 16 maart 2017, 9:00-12:00 uur Normering: Opgave 1 t/m 3 ieder 6 punten. Score:

Nadere informatie

Computationale Intelligentie Dirk Thierens

Computationale Intelligentie Dirk Thierens Computationale Intelligentie Dirk Thierens Organisatie Onderwijsvormen: Docent: Topic: Collegemateriaal: Boek: Beoordeling: hoorcollege, practicum, werkcollege Dirk Thierens Deel : Zoekalgoritmen Toets

Nadere informatie

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003 SQL Aantekeningen 3 Maarten de Rijke mdr@science.uva.nl 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets

Nadere informatie

(On)Doenlijke problemen

(On)Doenlijke problemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen Overzicht Inleiding - Relatie Deel 1 en Deel 2 - Doenlijke

Nadere informatie

Pascal uitgediept Data structuren

Pascal uitgediept Data structuren Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur

Nadere informatie

Opgaven Abstracte Datastructuren Datastructuren, Werkgroep, 31 mei 2017.

Opgaven Abstracte Datastructuren Datastructuren, Werkgroep, 31 mei 2017. Opgaven Abstracte Datastructuren Datastructuren, Werkgroep, 31 mei 2017. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes

Nadere informatie

Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument

Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument Complexiteit 2017/05 College 5 Vijfde college complexiteit 21 februari 2017 Selectie Toernooimethode Adversary argument 1 Complexiteit 2017/05 Opgave 28 Gegeven twee oplopend gesorteerde even lange rijen

Nadere informatie

Recapitulatie: Ongeïnformeerd zoeken. Zoekalgoritmen ( ) College 2: Ongeïnformeerd zoeken. Dynamische breadth-first search

Recapitulatie: Ongeïnformeerd zoeken. Zoekalgoritmen ( ) College 2: Ongeïnformeerd zoeken. Dynamische breadth-first search Recapitulatie: Ongeïnformeerd zoeken Zoekalgoritmen (009 00) College : Ongeïnformeerd zoeken Peter de Waal, Tekst: Linda van der Gaag een algoritme voor ongeïnformeerd zoeken doorzoekt de zoekruimte van

Nadere informatie

Lab Webdesign: Javascript 3 maart 2008

Lab Webdesign: Javascript 3 maart 2008 H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen

Nadere informatie

Firewall van de Speedtouch 789wl volledig uitschakelen?

Firewall van de Speedtouch 789wl volledig uitschakelen? Firewall van de Speedtouch 789wl volledig uitschakelen? De firewall van de Speedtouch 789 (wl) kan niet volledig uitgeschakeld worden via de Web interface: De firewall blijft namelijk op stateful staan

Nadere informatie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk

Nadere informatie

Hoofdstuk 3. Week 5: Sorteren. 3.1 Inleiding

Hoofdstuk 3. Week 5: Sorteren. 3.1 Inleiding Hoofdstuk 3 Week 5: Sorteren 3.1 Inleiding Zoals al bleek in college 1 kunnen zoekalgoritmen veel sneller worden uitgevoerd, indien we weten dat de elementen in de lijst, waarin wordt gezocht, geordend

Nadere informatie

Examen Datastructuren en Algoritmen II

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

Nadere informatie

Algoritmiek. 2 februari Introductie

Algoritmiek. 2 februari Introductie College 1 Algoritmiek 2 februari 2017 Introductie 1 Introductie -1- docent: Rudy van Vliet rvvliet@liacs.nl assistent werkcollege: Bart van Strien bartbes@gmail.com website: http://www.liacs.leidenuniv.nl/~vlietrvan1/algoritmiek/

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 6 januari 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Hoofdstuk 2. Week 4: Datastructuren. 2.1 Leesopdracht. 2.2 Bomen. 2.3 Definitie

Hoofdstuk 2. Week 4: Datastructuren. 2.1 Leesopdracht. 2.2 Bomen. 2.3 Definitie Hoofdstuk 2 Week 4: Datastructuren 2.1 Leesopdracht In het hoorcollege komen lijsten en bomen aan de orde. De eerste datastructuur komt in het boek in bladzijden 317-333 aan de orde. In dit dictaat komt

Nadere informatie

De MySQL C API. Variabelen in C Functies in C Pointers in C

De MySQL C API. Variabelen in C Functies in C Pointers in C LinuxFocus article number 304 http://linuxfocus.org De MySQL C API door Özcan Güngör Over de auteur: Ik gebruik Linux sinds 1997. Vrijheid, flexibiliteit en opensource. Dat

Nadere informatie

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 1 Relationele Databases 2002/2003 Hoorcollege 4 8 mei 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 Plan voor Vandaag Praktische dingen 3.1, 3.2, 3.3, 3.4, 3.5. SQL Aantekeningen 2 Tabellen. Theorie

Nadere informatie

Find Neighbor Polygons in a Layer

Find Neighbor Polygons in a Layer Find Neighbor Polygons in a Layer QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Dick Groskamp This work is licensed under a Creative Commons Attribution 4.0

Nadere informatie

Relationele Databases 2002/2003

Relationele Databases 2002/2003 Relationele Databases 2002/2003 Hoorcollege 4 8 mei 2003 Jaap Kamps & Maarten de Rijke April Juli 2003 1 Plan voor Vandaag Praktische dingen Huiswerk 3.1, 3.2, 3.3, 3.4, 3.5. SQL Aantekeningen 2 Tabellen.

Nadere informatie

Negende college algoritmiek. 15 april Dynamisch Programmeren

Negende college algoritmiek. 15 april Dynamisch Programmeren Negende college algoritmiek 15 april 2016 Dynamisch Programmeren 1 algemeen Uit college 8: DP: - nuttig bij problemen met overlappende deelproblemen - druk een oplossing van het probleem uit in oplossingen

Nadere informatie

Solcon Online Backup. Aan de slag handleiding voor Linux

Solcon Online Backup. Aan de slag handleiding voor Linux Version 1 September 2007 Installatie: 1. Download het setup bestand (obm-nix.tar.gz) van de website. 2. Voor de volgende stappen dient u root te zijn. 3. Doorloop de volgende stappen voor het uitpakken

Nadere informatie

7 Omzetten van Recursieve naar Iteratieve Algoritmen

7 Omzetten van Recursieve naar Iteratieve Algoritmen 7 Omzetten van Recursieve naar Iteratieve Algoritmen Het lijkt mogelijk om elke oplossings-algoritme, die vaak in eerste instantie recursief geformuleerd werd, om te zetten in een iteratieve algoritme

Nadere informatie

Tentamen Programmeren in C (EE1400)

Tentamen Programmeren in C (EE1400) TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code

Nadere informatie

Wat is FP? The Haskell School of Expression. Functies. Types 1+1=2. Iedere expressie (en waarde) heeft een type.

Wat is FP? The Haskell School of Expression. Functies. Types 1+1=2. Iedere expressie (en waarde) heeft een type. Wat is FP? The Haskell School of Expression Functioneel Programmeren Een andere manier om tegen programmeren aan te kijken Gebaseerd op het uitrekenen van expressies 1+1=2 Eenvoudig maar krachtig (modulair,

Nadere informatie

V.4 Eigenschappen van continue functies

V.4 Eigenschappen van continue functies V.4 Eigenschappen van continue functies We bestuderen een paar belangrijke stellingen over continue functies. Maxima en minima De stelling over continue functies die we in deze paragraaf bewijzen zegt

Nadere informatie

Data Mining: Classificatie

Data Mining: Classificatie Data Mining: Classificatie docent: dr. Toon Calders Gebaseerd op slides van Tan, Steinbach, and Kumar. Introduction to Data Mining Overzicht Wat is classificatie? Leren van een beslissingsboom. Problemen

Nadere informatie

HOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10

HOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10 CPP 1 van 10 ADSdt 1-2009 TENTAMENVOORBLAD Voor aanvang van het tentamen s.v.p. de tentamengegevens goed doorlezen om eventuele misverstanden te voorkomen!! Naam student : Studentnummer : Groep : Studieonderdeel

Nadere informatie

Een gelinkte lijst in C#

Een gelinkte lijst in C# Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk

Nadere informatie

Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk.

Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk. Netwerkanalyse (H3) Sommige praktische IP problemen kunnen worden geformuleerd als optimalisering op een netwerk. Deze problemen kunnen vaak als continu LP probleem worden opgelost. Door de speciale structuur

Nadere informatie

Friendly Functions and Shared BDD s

Friendly Functions and Shared BDD s Friendly Functions and Shared BDD s Bob Wansink 19 Juni 2010 Deze notitie behandelt pagina s 81 tot 84 van The Art of Computer Programming, Volume 4, Fascicle 1 van Donald E. Knuth. Inhoudelijk gaat het

Nadere informatie

Query SQL Boekje. Fredrik Hamer

Query SQL Boekje. Fredrik Hamer Query SQL Boekje Query SQL Boekje Fredrik Hamer Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402162103 Fredrik Hamer Inhoudsopgave A. Aanhef bepalen 17 Aantal 18 Aantal dagen tussen

Nadere informatie

Zelftest Programmeren in COBOL - deel I

Zelftest Programmeren in COBOL - deel I Zelftest Programmeren in CBL - deel I Document: n1290test.fm 05/01/2016 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INLEIDING BIJ DE ZELFTEST PRGRAMMEREN IN CBL -

Nadere informatie