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.
|
|
- Jelle de Jong
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 . 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 uit één knoop heeft hoogte h = ). Het gaat alleen om de vorm van de boom; het is niet nodig om waardes voor de sleutels te geven. ii. Beredeneer hoeveel niveaus met knopen volledig gevuld zijn in een Fibonacci boom van hoogte h (h willekeurig). iii. Hoeveel knopen bevinden zich op deze volledig gevulde niveaus samen? (Indien je bij onderdeel ii. geen antwoord hebt, gebruik dan als antwoord van dat onderdeel: f(h).) iv. Leid uit het vorige onderdeel een (grove) bovengrens af voor de hoogte h van een AVL-boom met n knopen. b) Beschouw de volgende AVL-boom B : B : 0 i. Wat is het resultaat na toevoeging van de sleutel aan B? ii. We beginnen opnieuw met de originele boom B. Wat is het resultaat na toevoeging van achtereenvolgens de sleutels 0 en aan B? Geef steeds duidelijk aan hoe je aan je antwoord komt. c) Beschouw de volgende AVL-boom B : B : 0 i. Wat is het resultaat na verwijdering van de sleutel uit B? ii. We beginnen opnieuw met de originele boom B. Wat is het resultaat na verwijdering van achtereenvolgens de sleutels en uit B? Geef steeds duidelijk aan hoe je aan je antwoord komt.
2 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) Hoeveel sleutels bevat een knoop in een B-boom van orde m minimaal? En hoeveel maximaal? b) We beperken ons nu tot B-bomen van orde m =. Hoeveel sleutels bevat het h-de niveau van een B-boom van orde minimaal? En hoeveel maximaal? Licht uw antwoord toe. N.B.: het eerste niveau is het niveau waarop de wortel van de B-boom zich bevindt. c) Stel dat we een B-boom van orde hebben met sleutels. Uit hoeveel niveaus kan deze B-boom bestaan? Geef alle mogelijkheden. Licht uw antwoord toe. Beschouw de volgende B-boom B van orde : B: d) i. Voeg aan B de sleutel toe. ii. Voeg aan B (de originele boom dus) de sleutel toe. Zorg ervoor dat we bij het toevoegen een B-boom van orde behouden. Geef een korte toelichting en (zo nodig) tussenresultaten. e) i. Verwijder de sleutel uit B (de originele boom dus). ii. Verwijder de sleutel uit B (de originele boom dus). Zorg ervoor dat we bij het verwijderen een B-boom van orde behouden. Geef een korte toelichting en (zo nodig) tussenresultaten.
3 . a) Een rood-zwart boom (red-black tree) is een speciale binaire zoekboom. Wat is de definitie van de rood-zwart boom? Deze definitie mag niet in termen van B-bomen gegeven worden. b) Gegeven is de volgende rood-zwart boom R, waarbij de rode knopen een extra cirkel hebben gekregen Rood-zwart bomen en B-bomen zijn sterk gerelateerd. Geef deze rood-zwart boom als B-boom. c) De flag-flip operatie voor rood-zwart bomen is gerelateerd aan een operatie voor B-bomen. Welke operatie is dit? d) Naast de flag-flip operatie zijn ook de enkele rotatie en de dubbele rotatie operaties voor rood-zwart bomen. Laat zien dat na uitvoering van dergelijke operaties op een rood-zwart boom, de resulterde boom weer een binaire zoekboom is. e) Welke boom ontstaat als we achtereenvolgens aan R devolgende getallen toevoegen: 9,, 7. Geef duidelijk de tussenstappen weer.
4 . Een bi-boom ( binomial tree ) wordt als volgt gedefinieerd: Een bi-boom van graad 0 bestaat uit een enkele knoop; de bi-boom van graad k + onstaat uit twee bibomen van graad k door één als laatste kind aan de andere wortel toe te voegen. Een bi-boom van graad k heeft precies k knopen. 7 De representatie van de bi-boom gebeurt door middel van de eerste kind-rechter broer methode: de kinderen van een knoop hangen in een lineaire lijst. Elke knoop bevat expliciet zijn graad (aantal kinderen) en een pointer naar zijn vader. TYPE Wijzer = Knoop; Knoop = RECORD Info Graad Vader, Kind, Broer END; :EigenKeus; :Integer; :Wijzer a) Geef een procedure Join( var B, B : Wijzer ) die twee bi-bomen van dezelfde graad samenvoegt tot een bi-boom van een hogere graad. Na afloop wijst B naar het resultaat. Een bi-bos is een lineaire lijst van bi-bomen, waarvan de graden in oplopende volgorde geordend zijn; er zijn géén bomen van gelijke graad in het bi-bos. De lineaire lijststructuur van het bos wordt aangelegd via de Broer-velden van de wortels. b) Schrijf een procedure Merge( var B, B : Wijzer ) die twee bi-bossen samenvoegt tot een nieuw bi-bos: telkens wanneer er twee bi-bomen van dezelfde graad zijn, worden ze samengevoegd tot een bi-boom van hogere graad. nb. Bij het mergen van bi-bossen met bomen van graad 0++ (totaal knopen) resp. van graad 0++ (7 knopen) onstaat een bi-bos met graden + ( knopen) Vergelijk het optellen van binaire getallen: = 000. c) We kunnen de wortel van een boom in een bi-bos verwijderen, door de boom los te knippen, wortel te verwijderen, en het resterende bi-bos samen te voegen met het bi-bos bestaande uit de kinderen van de verwijderde wortel. Implementeer deze operatie.
5 . Wanneer volgens het algoritme van Prim een opspannende boom bepaald wordt, groeit deze boom vanuit de gekozen startknoop. Het algoritme van Kruskal dat hetzelfde probleem oplost laat geen boom groeien, maar kiest steeds een tak van minimaal gewicht die geen kring vormt met de reeds gekozen takken. gegeven graaf G=(V,E) 0 begin met lege boom T while T verbindt niet alle knopen do kies tak (u,v) uit E met minimaal gewicht verwijder (u,v) uit E if (u,v) geen kring vormt met takken uit T then voeg (u,v) aan T toe fi 7 od a) Voer het algoritme uit op de volgende graaf: Regels en van het algoritme zijn cruciaal. Er moet een representatie gebruikt worden om op efficiente wijze kringen te kunnen detecteren. De datastructuur union-find houdt binnen N objecten (zeg de getallen,...,n) een aantal disjuncte deelverzamelingen bij. De operatie union(i, j) voegt de deelverzamelingen waarin i en j zich bevinden samen; de operatie find(i) levert een unieke representant van de verzameling van i. Bij een mogelijke representatie worden bomen gebruikt, waarbij we letten op de hoogte van de bomen. Bij het samenvoegen van bomen wordt steeds de wortel van de laagste boom als kind aan de wortel van de hoogste boom gekoppeld. (Nogmaals: hierbij is de hoogte van de boom maatgevend, en niet de waarde opgeslagen in de knoop.) Hieronder tekenen we het resultaaat na union(,); union(,); union(7,); union(,7); union(7,); voor de getallen,..., toegepast op de beginsituatie waar elke deelverzameling één element heeft. 7 b) Werk bovenstaande representatie uit. Geef declaraties en implementeer de functies. (Dit hoeft niet als een volledig werkende klasse gepresenteerd te worden.) c) Voeg de juiste union-find instructies toe aan het gegeven algoritme van Kruskal.
6 . Het algoritme van Floyd kan toegepast worden op grafen met negatieve gewichten, zolang tenminste geen kringen aanwezig zijn waarvan het totale gewicht negatief is. - a) Pas Floyd toe op bovenstaande graaf. Let op: er zijn zowel gerichte als ongerichte takken. Geef ook de tussenresultaten. b) Wat is, volgens uw antwoord bij het vorige onderdeel, het kortste pad van knoop naar knoop? Leg uit hoe dit pad afgelezen kan worden uit de (tussen-)resultaten bij dat onderdeel. c) Laat zien dat het algoritme van Dijkstra niet toepasbaar is op grafen met negatieve gewichten, door het algoritme toe te passen op bovenstaande graaf. Kies een geschikte beginknoop. d) Waarom is Floyd niet toepasbaar op grafen met kringen met een negatief totaal gewicht?
7 7. a) Wat is een topologische ordening op de knopen in een gerichte graaf? b) Hieronder staat een recursieve functie voor depth-first search van grafen, aan te roepen zolang er knopen zijn die nog niet eerder bezocht werden. Geef aan hoe deze functie gebruikt kan worden bij het bepalen van een topologische ordening van een graaf, indien deze bestaat. void DFS (KnoopType x) { // aanname: knoop x niet bezocht Bezoek (x); Bezocht[x] = true; for elke knoop w aangrenzend aan x do if (not Bezocht[w]) then DFS (w); fi od // knoop x volledig afgehandeld } c) In onderstaande gerichte, acyclische graaf representeren de takken projecten. Een project (i,j) (corresponderend met de gerichte tak van knoop i naar knoop j) kan pas worden uitgevoerd als alle projecten eindigend in knoop i zijn afgelopen. De gewichten op de takken zijn de benodigde tijdsduren van de afzonderlijke projecten. Bereken op een systematische manier, met behulp van een topologische ordening van de graaf, het vroegste tijdstip waarop alle projecten afgerond kunnen zijn, ervanuitgaand dat we op tijdstip 0 met de eerste projecten kunnen beginnen. Laat duidelijk zien hoe je aan je (tussen-)resultaten komt. 7 7
8 . Beschouw hashen in een zgn. open hashtabel met twee hash-functies h en p, waarbij p de stap-functie is. Het i+-ste bezochte adres h(k,i) is zoals gewoonlijk h(k) i p(k) (modulo M). a) Neem M = 9. Geef een stapfunctie welke correspondeert met lineair hashen. Geef tevens een ontoelaatbare stapfunctie en geef aan waarom deze ontoelaatbaar is. b) Welke twee soorten clustering onderscheiden we bij hashen met open adressering? Geef een korte beschrijving. Bij welke hash-methode kunnen beide soorten clustering voorkomen worden? c) Neem nu een lege tabel T[M] met M =. De twee hash-functies zijn h(k) = K mod M en p(k) = (K mod ) +. Laat zien welke tabel ontstaat door achtereenvolgens devolgende getallen aan T toe te voegen:,, 7,, 0,, 9,, 0. Geef duidelijk de tussenstappen weer. d) Vergroot de zojuist geconstrueerde tabel tot M = elementen en herplaats de elementen uit deze tabel ter plekke. Geef duidelijk de tussenstappen weer.
9 9. De methode van Knuth-Morris-Pratt wordt gebruikt om een patroon P[..m] in een tekst T[..Lengte] te zoeken. Daartoe worden failure-links opgesteld. a) Stel de failure link bij positie i wijst naar positie k in P: Flink[i] = k. Wat geldt dan voor de woorden P[]...P[i] en P[]...P[k]? In het bijzonder, wanneer geldt Flink[i] = 0? b) Geef een efficient algoritme om de failure links op te stellen. c) Bepaal de failure-links voor het patroon P = ABCABABC. d) We zoeken naar P in de tekst T = ABCA BCAB AABC ABAB BABC (hier staan de spaties voor de leesbaarheid). Geef nauwkeurig aan hoe het zoeken volgens de KMPmethode gebeurt. Welke letters worden telkens met elkaar vergeleken? 9
10 Deze opgave gaat over ZLW (de-)codering van teksten over de karakters a, b, c en d. De codeerboom (een trie) die bij (de-)codering wordt opgebouwd, is dus -air (en niet -air zoals in de programmeeropdracht van dit jaar). Als eerste code (de code voor de string a) nemen we de code a) Codeer de tekst cdbcacacdaaabc met het ZLW algoritme. Bouw de codeerboom op en laat duidelijk zien welke substrings van de tekst met welke code worden gecodeerd. Geef toelichting bij de stappen die u achtereenvolgens maakt. Ga ervanuit dat er voldoende codes beschikbaar zijn, ofwel dat de codeerboom niet vol raakt. b) Veronderstel dat we bij codering van een tekst met het ZLW algoritme de volgende reeks codes hebben gekregen: Reconstrueer de originele tekst. Bouw ook nu (achteraf) de codeerboom op en laat zien welke substrings van de tekst met welke code zijn gecodeerd. Geef toelichting bij de stappen die u achtereenvolgens maakt. N.B.: dit onderdeel staat (in principe) volkomen los van het vorige onderdeel. c) Veronderstel dat we een bepaalde tekst (in zijn geheel) met het ZLW algoritme gecodeerd hebben en dat we daarbij de volgende codeerboom hebben opgebouwd: a b c d 0 a b a a a c 9 7 Hoe kan de tekst eruit gezien hebben? Als er meerdere mogelijkheden zijn, geef ze dan allemaal. Verklaar uw antwoord. Ga ervanuit dat de codeerboom nog niet vol is. d) Bij codering van een grote tekst kan het voorkomen dat alle beschikbare codes toegekend zijn, terwijl nog niet de gehele tekst gecodeerd is. Geef drie verschillende manieren waarop we het coderen van de tekst kunnen vervolgen. 0
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 informatieDatastructuren 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 informatieDiscrete 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 informatieDiscrete 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 informatieUitwerking tentamen Analyse van Algoritmen, 29 januari
Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4
Nadere informatieMinimum 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 informatieElfde 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 informatieTweede 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 informatieDatastructuren 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 informatieTiende 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 informatieTiende college algoritmiek. 14 april Gretige algoritmen
College 10 Tiende college algoritmiek 1 april 011 Gretige algoritmen 1 Greedy algorithms Greed = hebzucht Voor oplossen van optimalisatieproblemen Oplossing wordt stap voor stap opgebouwd In elke stap
Nadere informatieElfde 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 informatieDoorzoeken 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 informatieTiende college algoritmiek. 2 mei Gretige algoritmen, Dijkstra
College 10 Tiende college algoritmiek mei 013 Gretige algoritmen, Dijkstra 1 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag van n (n 0) eurocent. Alle
Nadere informatieTW2020 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Verzamelingen:
Nadere informatieAlgoritmiek. 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 informatieTW2020 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 informatieTiende 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 informatieV = {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 informatieGrafen. Indien de uitgraad van ieder punt 1 is, dan bevat de graaf een cykel. Indien de ingraad van ieder punt 1 is, dan bevat de graaf een cykel.
Grafen Grafen Een graaf bestaat uit een verzameling punten (ook wel knopen, of in het engels vertices genoemd) en een verzameling kanten (edges) of pijlen (arcs), waarbij de kanten en pijlen tussen twee
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
1 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieElfde college algoritmiek. 28 april Gretige Algoritmen, Algoritme van Dijkstra, Branch & Bound
lgoritmiek 01/retige lgoritmen lfde college algoritmiek 8 april 01 retige lgoritmen, lgoritme van ijkstra, ranch & ound 1 lgoritmiek 01/retige lgoritmen Minimale opspannende boom egeven een samenhangende,
Nadere informatieTwaalfde 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieTiende college algoritmiek. 4 mei Gretige Algoritmen Algoritme van Dijkstra
Tiende college algoritmiek mei 018 Gretige Algoritmen Algoritme van Dijkstra 1 Muntenprobleem Gegeven onbeperkt veel munten van d 1,d,...d m eurocent, en een te betalen bedrag van n (n 0) eurocent. Alle
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2010 2011, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieVierde 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2016 2017, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieTentamen Discrete Wiskunde 1 10 april 2012, 14:00 17:00 uur
Tentamen Discrete Wiskunde 0 april 0, :00 7:00 uur Schrijf je naam op ieder blad dat je inlevert. Onderbouw je antwoorden, met een goede argumentatie zijn ook punten te verdienen. Veel succes! Opgave.
Nadere informatieExamen Algoritmen en Datastructuren III
Derde bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. Stellingen
Nadere informatieDiscrete Wiskunde, College 12. Han Hoogeveen, Utrecht University
Discrete Wiskunde, College 12 Han Hoogeveen, Utrecht University Dynamische programmering Het basisidee is dat je het probleem stap voor stap oplost Het probleem moet voldoen aan het optimaliteitsprincipe
Nadere informatieVijfde college algoritmiek. 2/3 maart Exhaustive search
Vijfde college algoritmiek 2/3 maart 2017 Exhaustive search 1 Voor- en nadelen Brute force: Voordelen: - algemeen toepasbaar - eenvoudig - levert voor een aantal belangrijke problemen (zoeken, patroonherkenning)
Nadere informatieElfde college algoritmiek. 21 april Dijkstra en Branch & Bound
Algoritmiek 011/11 College 11 Elfde college algoritmiek 1 april 011 Dijkstra en Branch & Bound 1 Algoritmiek 011/11 Kortste paden Gegeven een graaf G met gewichten op de takken, en een beginknoop s. We
Nadere informatieVierde 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke
Nadere informatieUitwerking 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 informatieTwaalfde 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2008 2009, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees elke
Nadere informatieKortste 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 informatieImplementatie 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 informatieVierde 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 informatieZiv-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 informatieBomen. 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 informatieTwaalfde 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 informatieAchtste 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 informatieOnafhankelijke 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 informatieExamen Algoritmen en Datastructuren III
Derde bachelor Informatica Academiejaar 2006 2007, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)
Nadere informatieCombinatorische Algoritmen: Binary Decision Diagrams, Deel III
Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieGrafen 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 informatieAmorized 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 informatieOver binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4
Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4 Jonathan K. Vis 1 Inleiding (blz. 70 72) In dit essay behandelen we bladzijden 70 75 van Donald E. Knuth
Nadere informatieBomen. 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 informatieUitgebreide uitwerking Tentamen Complexiteit, juni 2016
Uitgebreide uitwerking Tentamen Complexiteit, juni 016 Opgave 1. (3+10++7+6) a. De hoogte van de beslissingsboom (lengte van het langste pad) stelt het aantal arrayvergelijkingen in de worst case voor.
Nadere informatieZevende college algoritmiek. 1 april Verdeel en Heers
Zevende college algoritmiek 1 april 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 informatieTiende college algoritmiek. 14 april Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS
Algoritmiek 2016/Dynamisch Programmeren Tiende college algoritmiek 14 april 2016 Dynamisch Programmeren, Gretige Algoritmen, Kortste Pad met BFS 1 Algoritmiek 2016/Dynamisch Programmeren Houtzaagmolen
Nadere informatieUitwerkingen opgaven Kunstmatige intelligentie
Uitwerkingen opgaven Kunstmatige intelligentie Opgave 8 (1.6.2001) e. Uiteindelijk wordt onderstaande boom opgebouwd. Knopen die al eerder op een pad voorkwamen worden niet aangegeven, er zijn dus geen
Nadere informatieKosten. Zoekalgoritmen ( ) College 5: Zoeken met kosten. Een zoekprobleem met stapkosten. Een voorbeeld: het vinden van een route
Kosten Zoekalgoritmen (00 00) ollege 5: Zoeken met kosten Peter de Waal, Tekst: Linda van der aag Veel zoekproblemen omvatten kosten: een afstand in kilometers; een geldbedrag; een hoeveelheid tijd; ongemak;...
Nadere informatieUitgebreide 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 informatieGerichte Grafen Boolese Algebra s &. Logische Netwerken
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 10 maart 2009 Gerichte Grafen Boolese Algebra s &. Logische Netwerken. Paragrafen
Nadere informatieMinimum 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 informatieTree 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 informatieKortste 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 informatie2WO12: 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 informatieVierde 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 informatieGrafen en netwerken I Datastructuren en doorzoeken. Algoritmiek
Grafen en netwerken I Datastructuren en doorzoeken Algoritmiek 1 Inleiding 2 Netwerken Veel toepassingen, bijvoorbeeld: Sociale netwerken, electrische netwerken, wegennetwerken, communicatie netwerken,
Nadere informatieOefententamen in2505-i Algoritmiek
TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Oefententamen in2505-i Algoritmiek Maart 2007 Het gebruik van boek of aantekeningen tijdens dit tentamen is niet toegestaan.
Nadere informatieElfde college algoritmiek. 16 mei Dijkstra, Gretige algoritmen en Branch & Bound
Algoritmiek 013/11 College 11 Elfde college algoritmiek 1 mei 013 Dijkstra, Gretige algoritmen en Branch & Bound 1 Algoritmiek 013/11 Voorbeeld -1- A B C D E F G H 9 7 5 A B C D E F G H 0 9 9 7 5 A B C
Nadere informatieHoofdstuk 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 informatieHoofdstuk 1. Inleiding. Lichamen
Hoofdstuk 1 Lichamen Inleiding In Lineaire Algebra 1 en 2 heb je al kennis gemaakt met de twee belangrijkste begrippen uit de lineaire algebra: vectorruimte en lineaire afbeelding. In dit hoofdstuk gaan
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, mei 2007
Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2005 2006, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. 1. Splaybomen
Nadere informatiel e x e voor alle e E
Geselecteerde uitwerkingen Werkcollege Introduceer beslissingsvariabelen x e met x e = als lijn e in de boom zit en anders x e = 0. De doelfunctie wordt: min e E l e x e Voor elke deelverzameling S V met
Nadere informatieUniversiteit Utrecht Betafaculteit. Examen Discrete Wiskunde op donderdag 13 april 2017, uur.
Universiteit Utrecht Betafaculteit Examen Discrete Wiskunde op donderdag 13 april 2017, 14.30-17.30 uur. De opgaven dienen duidelijk uitgewerkt te zijn en netjes ingeleverd te worden. Schrijf op elk ingeleverd
Nadere informatieZevende 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 informatieZevende 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 informatieDatastructuren: 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 informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2009 2010, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatie2 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 informatieConstraint satisfaction. Computationele Intelligentie. Voorbeelden. Een constraint satisfaction probleem. Constraint Satisfaction
Constraint satisfaction Computationele Intelligentie Constraint Satisfaction Een constraint satisfaction probleem (CSP) bestaat uit: een verzameling variabelen; een domein van waarden voor elke variabele;
Nadere informatiepublic 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 informatieTree 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 informatieDerde 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 informatieElfde college algoritmiek. 29 april Algoritme van Dijkstra, Branch & Bound
Algoritmiek 01/Algoritme van Dijkstra Elfde college algoritmiek 9 april 01 Algoritme van Dijkstra, Branch & Bound 1 Algoritmiek 01/Algoritme van Dijkstra College 10: Voorbeeld -1- A B C D E F G H 9 7 5
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieEnige informatie over groepen ten bate van het college Topologie en Meetkunde (Jaap van Oosten, Juni 2003)
Enige informatie over groepen ten bate van het college Topologie en Meetkunde (Jaap van Oosten, Juni 2003) Een groep is een verzameling G met daarop een operatie : G G G (die we schrijven als g, h g h),
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, juni 2017
Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.
Nadere informatieZevende 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 informatieExamen Algoritmen en Datastructuren III
Derde bachelor Informatica Academiejaar 2006 2007, tweede zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. 1. (2 pt)
Nadere informatieGrafen deel 2 8/9. Zesde college
Grafen deel 2 8/9 Zesde college 1 Een Eulercircuit is een gesloten wandeling die elke lijn precies één keer bevat. traversable trail all edges distinct 8.5 rondwandeling zeven bruggenprobleem van Köningsbergen
Nadere informatieAutomaten. Informatica, UvA. Yde Venema
Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................
Nadere informatieUitwerking 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 informatieUitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, uur
Uitgebreide uitwerking tentamen Algoritmiek Dinsdag 2 juni 2009, 10.00 13.00 uur Opgave 1. a. Een toestand wordt bepaald door: het aantal lucifers op tafel, het aantal lucifers in het bezit van Romeo,
Nadere informatieDiscrete Wiskunde, College 13. Han Hoogeveen, Utrecht University
Discrete Wiskunde, College 13 Han Hoogeveen, Utrecht University Algoritme van Kruskal (1) Sorteer de kanten in E op volgorde van lengte; hernummer de kanten zodanig dat c(e 1 ) c(e 2 )... c(e m ) Bij twee
Nadere informatie