Bekijk onderstaand algoritme recalg. Bepaal recalg(5) en laat zien hoe u het antwoord hebt verkregen.



Vergelijkbare documenten
opgaven formele structuren procesalgebra

Formeel Denken 2012 Uitwerkingen Tentamen

1a Een hoeveelheid stof kan maar op één manier veranderen. Hoe?

Zelfstudie practicum 1

In dit hoofdstuk introduceren we de hoofdrolspelers van het college: eindige automaten.

Getallenverzamelingen

Formeel Denken. Herfst Contents

Werkblad TI-83: Over de hoofdstelling van de integraalrekening

6.0 INTRO. 1 a Bekijk de sommen hiernaast en ga na of ze kloppen = = = = = 2...

Het kwadraat van een tweeterm a+b. (a+b)²

Natuurlijke getallen op een getallenas en in een assenstelsel

Voorbereidende opgaven Kerstvakantiecursus

Werkkaarten GIGO 1184 Elektriciteit Set

Datastructuren en algoritmen Uitwerkingen voorbeeldserie huiswerkopgaven

Voorbereidende opgaven Stoomcursus

Voorbereidende opgaven Stoomcursus

Reguliere Expressies en Automaten: Overzicht

Opdrachten bij hoofdstuk 2

Kennismaken. Wie zitten er bij jou in de klas? 4. Welke afspraken maak jij met je klas? 8

Voorbereidend Wetenschappelijk Onderwijs Tijdvak 1 Donderdag 20 mei uur

Het Poincarévermoeden in dimensie 2 Erik Visse

Hoofdstuk 0: algebraïsche formules

Wat doen we met de vuile was?

De formule van het opslagpercentage voor alle producten luidt:

wedstrijden, dus totaal 1 n ( n 1)

Noordhoff Uitgevers bv

INTERVIEWEN 1 SITUATIE

Ongelijkheden groep 2

Routeplanning middels stochastische koeling

HOOFDSTUK 1 BASISBEGRIPPEN

Examen VWO. wiskunde B1,2 (nieuwe stijl)

1.3 Wortels. x x 36 6 = x = 1.5 Breuken. teller teller noemer noemer. Delen: vermenigvuldig met het omgekeerde.

Lijn, lijnstuk, punt. Verkennen. Uitleg. Opgave 1

1 Uw secretaresse vraagt u wie u voor deze sessie wilt uitnodigen. Aan welke mensen denkt u?

Hoofdstuk 5: Vergelijkingen van de

Ontleden? Leuk! Inleiding. Opzet van deze lesbrief. Door Henk Jongsma, hoofdauteur Op Niveau tweede fase

Praktische Opdracht Lineair Programmeren V5

Moderne wiskunde: berekenen zwaartepunt vwo B

KATHOLIEKE UNIVERSITEIT LEUVEN SUBFACULTEIT ECONOMIE EN BEDRIJFSWETENSCHAPPEN HUB HANDELSWETENSCHAPPEN

Inhoud leereenheid 13. Integreren. Introductie 125. Leerkern 126. Samenvatting 149. Zelftoets 150

3 Snijpunten. Verkennen. Uitleg

Rekenregels van machten

Continuïteit en Nulpunten

De oppervlakte van de rechthoek uit de vorige opgave hangt van dezelfde variabelen af.

Het bepalen van een evenwichtstoedeling met behulp van het 1 e principe van Wardrop is equivalent aan het oplossen van een minimaliserings-probleem.

Nakomelingen van rendieren kunnen een paar uur na de geboorte al met de kudde meerennen. Zijn rendieren nestvlieders of nestblijvers?

ja, studentaccount is groter dan standaard account en nog steeds gratis. Wel moet je mail adres van school en website van school invoeren ter controle

Opgave 1 Stel je eens een getal voor, bijvoorbeeld: 504,76. a b c

Rapportage Enquête ondergrondse afvalinzameling Zaltbommel

Lineaire formules.

1 Vlaamse Wiskunde Olympiade : Eerste Ronde.

Route F - Desert. kangoeroerat

Begripsvragen: Beweging

GBK Leden profiel beheer

2) Kegelsneden (in basisvorm)

Assertiviteit. Agressiviteit

Hoofdstuk 2 DE STELLING VAN PYTHAGORAS

Hertentamen. Elektriciteit en Magnetisme 1. Woensdag 14 juli :00-12:00. Schrijf op elk vel uw naam en studentnummer. Schrijf leesbaar.

Breuken en verhoudingen

Werkloosheid, armoede, schooluitval en criminaliteit. Er zal veel belastinggeld nodig zijn om al die problemen op te lossen.

MEETKUNDE 2 Lengte - afstand - hoeken

Voorbereidende opgaven Examencursus

Henk Pijls Korteweg-de Vries Instituut voor Wiskunde Universiteit van Amsterdam

AFRIKA RAPPORT

Inhoud college 7 Basiswiskunde

Welke van de volgende beweringen over de kromme snavel is of welke zijn juist voor jonge flamingo's? Maak het hokje met een juiste bewering zwart.

Grammatica s en Ontleden Deeltentamen 1 (van 2)

1 Theoretische achtergrond voor het schakelen van weerstanden.

2 De kracht van vectoren

6.4 Rekenen met evenwichtsreacties

De standaard oppervlaktemaat is de vierkante meter. Die is afgeleid van de standaard lengtemaat, de meter.

Een regenton. W is het vlakdeel dat wordt ingesloten door de x-as, de y-as, de grafiek van r en de lijn x h, met 0 h

Inleiding Natuurwetenschappen

Digitale informatieverwerking

De tijdens de training aangeboden ski-imitaties gebruiken we zowel als middel maar ook als doel.

5.1 Hogeremachtswortels [1]

Opgaven met dit merkteken kun je zonder de opbouw aan te tasten, overslaan.

Opgave 1. Waarom kun je bij het Noorden twee getallen neerzetten? Geldt dit ook voor andere windrichtingen? Hoeveel graden hoort er bij het Oosten?

Grammatica s en Ontleden Deeltentamen 1 (van 2) Dinsdag 18 december 2007 (15:00-17:00)

Hoeveel betaal je in totaal? Hoe kun je dat bedrag narekenen? Hoe bereken je het bedrag dat je van de 20 euro terug krijgt?

11 Wiskundige denkactiviteiten: digitale bijlage

1 Vlaamse Wiskunde Olympiade : Tweede Ronde.

Inhoudsopgave. Inhoud

Inhoud. Inleiding 5. 1 Handgereedschappen Verbindingen Elektrische techniek Pompen Verbrandingsmotoren 138

DOEL: Weten wat de gevolgen en risico s kunnen zijn van het plaatsen van (persoonlijke) informatie op internet.

Bespreking Examen Analyse 1 (Juni 2007)

1.0 Voorkennis. Voorbeeld 1:

1.3 Wortels. = a b c. x = 1.5 Breuken. teller teller. noemer noemer. Delen: vermenigvuldig met het omgekeerde.

Antwoorden Doeboek 21 Kijk op kegelsneden. Rob van der Waall en Liesbeth de Clerck

Om welke reden heeft een kwak relatief grote ogen?

Pak jouw passer en maak de afstand tussen de passerpunten 3 cm.

EXAMENONDERDEEL ELEKTRONISCHE INSTRUMENTATIE (5GG80) gehouden op woensdag 22 juni 2005, van tot uur.

fonts: achtergrond PostScript Fonts op computers?

gefragmenteerde bestanden Bestand Bestand Bestand Bestand Bestand a Bestand a Bestand a Bestand a Bestand Bestand Bestand Bestand c Bestand a

2. Gegeven is de driehoek van figuur 10.10a. Gevraagd worden hoek β en de zijden a en c.

1 Vlaamse Wiskunde Olympiade : Eerste Ronde.

Inhoud. 1 Handgereedschappen 6. 2 Verbindingen Elektrische techniek Pompen Verbrandingsmotoren 128

Gehele getallen: vermenigvuldiging en deling

Platte en bolle meetkunde

Voorbereidende opgaven Herkansingscursus. Rekenregels voor vereenvoudigen

Transcriptie:

Vooreeldtentmen 1 Tentmen Dtstructuren en lgoritmen (T641 en T6741) OPGAVE 1 c d Bekijk onderstnd lgoritme recalg. Bepl recalg() en lt zien hoe u het ntwoord het verkregen. Wt erekent recalg in het lgemeen? Verklr uw ntwoord. Bepl de complexiteit vn recalg. Licht uw ntwoord toe. Breng een kleine verndering n in recalg zodnig dt deze efficiënter wordt. Bepl de complexiteit vn de vernderde recalg. Licht uw ntwoord toe. Algorithm recalg(n): Input: Integer n Output: Integer result 1 if n > 1 then result 1 + recalg(n - 1) + recalg(n - 1) { end if return result 10 punten OPGAVE Geef een snel recursief lgoritme in pseudo-code of Jv voor het omkeren vn een enkelvoudige geschkelde lijst L, zodt de volgorde vn de schkels in de lijst omgekeerd wordt. Hint: Geruik een hulpmethode wrin de eerste n schkels vn de lijst worden omgekeerd. De terugkeerwrde vn de hulpmethode is een verwijzing nr de n de schkel. U mg er vnuit gn dt de klsse SLinkedList uit codefrgment 3.13 vn het tekstoek methoden ddfirst en getfirst heeft. Wt is de complexiteit vn uw lgoritme? Geef ook een verklring vn de complexiteit. 10 punten OPGAVE 3 Wr kn in een hep het element met de grootste sleutel stn? Licht uw ntwoord toe. 10 punten OPGAVE 4 Gegeven is de rij S 16 4 10 18 30 0 1 1 Voeg de getllen vn S in de gegeven volgorde (eerst, dn 16, ) toe n een lege inire zoekoom en teken het eindresultt. 1

Vooreeldtentmen 1 Tentmen Dtstructuren en lgoritmen (T641 en T6741) Voeg de getllen vn S in de gegeven volgorde toe n een lege AVLoom en teken het tussenresultt direct voor en n elke rottie en teken het eindresultt. 10 punten OPGAVE Op lz 408 vn het tekstoek stt dt een hsh-tel niet geschikt is om een geordende dictionry te reliseren. De uitleg hiervn is summier. Licht dit nder toe. c OPGAVE 6 Op lz. 61 vn het tekstoek wordt gesproken over BFS voor gerichte grfen. Geef een implementtie vn directedbfs in pseudocode. We pssen directedbfs toe op de gerichte grf vn figuur 13.10 () op lz. 614 vn het tekstoek. Kies een knooppunt vn wruit de gehele grf wordt doorlopen en geef een volgorde vn de knooppunten wrin deze ezocht kunnen worden door directedbfs. Geef de verschillende soorten knten (zowel tree edges ls nontree edges) die door directedbfs worden enoemd. 8 punten 7 punten OPGAVE 7 We ekijken de string X = dogs do not spot hot pots or cts. Geef een frequentietel en een Huffmn oom voor (de krkters vn) X en geef de ijehorende code vn de krkters d, o, g en. Zijn er ndere Huffmn omen voor X mogelijk? Zo j, geef er één en geef de ijehorende code vn de krkters d, o, g en.; zo nee, wrom niet?

Vooreeldtentmen 1 Tentmen Dtstructuren en lgoritmen (T641 en T6741) UITWERKINGEN OPGAVE 1 Het eenvoudigste is om chtern te eginnen. recalg(1) = 1 recalg() = 1 + *1 = 3 recalg(3) = 1 + *3 = 7 recalg(4) = 1 + *7 = 1 recalg() = 1 + *1 = 31 recalg(n) = n 1 Dit is in te zien door de uitwerking vn te herschrijven: recalg(1) = 1 = 0 recalg() = 0 + * 0 = 0 + 1 recalg(3) = 0 + *( 0 + 1 ) = 0 + 1 + recalg(4) = 0 + *( 0 + 1 + ) = 0 + 1 + + 3 (eigenlijk met volledige inductie te ewijzen) recalg(n) = 0 + + n 1 = n 1 c Het ntl recursieve nroepen verduelt steeds en is ij recalg(n) gelijk n n 1. Per nroep heen we 1 toekenning of 1 toekenning en optellingen, dus ltijd O(1), en dus is het totl ntl primitieve ewerkingen evenredig met n 1. De complexiteit is dus O( n ) en zelfs Θ( n ) omdt er geen sprke is vn een verschil tussen een slechtste en este gevl. d Vervng result 1 + recalg(n 1) + recalg(n 1) door result 1 + * recalg(n 1). Nu is de complexiteit Θ(n) wnt het ntl recursieve nroepen ij recalg(n) is gelijk n n 1. OPGAVE privte sttic Node reverse(slinkedlist list, int n){ if (n == 1){ return list.getfirst(); else { Node end = reverse(list, n-1); if (end!= null){ Node newfirst = end.getnext(); end.setnext(newfirst.getnext()); // newfirst verwijderen list.ddfirst(newfirst); return end; Deze recursieve methode roepen we ls volgt n in methode reverse. : pulic sttic void reverse(slinkedlist list){ reverse(list, list.size()); 3

Vooreeldtentmen 1 Tentmen Dtstructuren en lgoritmen (T641 en T6741) In totl zijn er n recursieve nroepen wrij n het ntl elementen in de geschkelde lijst is. Binnen een recursieve nroep zijn lle methode nroepen O(1), de complexiteit vn het gehele lgoritme is dus Θ(n). OPGAVE 3 In een hep geldt de eis dt elk knooppunt m.u.v. de wortel een grotere of dezelfde sleutel evt ls zijn ouder. Dus ij lleml verschillende sleutels zl de grootste lleen in de één n onderste of twee n onderste lg voorkomen. (Not ene, de lderen vn een hep evtten geen elementen.) Als de grootste sleutel echter meermls voorkomt, kn deze ook op een hoger niveu stn mits er onder lleen mr duplicten voorkomen. Alleen ls lle sleutels gelijk zijn, kn de grootste in de wortel stn. OPGAVE 4 16 1 10 1 18 4 30 0 N toevoeging vn de eerste drie is het hoogteverschil : 3 0 16 1 Enkele rottie: 4

Vooreeldtentmen 1 Tentmen Dtstructuren en lgoritmen (T641 en T6741) 16 Verder geen rotties meer nodig, dus meteen het eindresultt: 16 10 18 4 1 1 30 0 OPGAVE Een hsh-tel is geschikt voor de relistie vn een ongeordende dictionry (zie lz. 393 ev). We hoeven dus lleen te lten zien dt een hsh tel niet geschikt is voor relistie vn de methoden die specifiek zijn voor geordende dictionries, te weten first, lst en successors, predecessors. Uiterrd gn we er vn uit dt de sleutels geordend kunnen worden, nders gezegd dt ze een lineir geordend verzmeling vormen. In een hsh tel wordt een item opgeslgen door op de sleutel de hshfunctie toe te pssen die de hsh code ls functiewrde geeft. Ook l zijn de sleutels geordend, hun hsh codes zijn dt in het lgemeen niet, dus een hsh tel is een ongeordende tel. Als nu een methode first of lst gereliseerd moet worden, etekent dt dt de gehele hsh tel doorzocht moet worden en dt is zeer inefficiënt. Hetzelfde geldt voor successors en predecessors. OPGAVE 6 In het lgoritme op lz 60 vn het tekstoek moeten we lleen knten e ekijken die vnuit punt v vertrekken. Methode endverticeces(e) geeft een Arry A zodnig dt A[0] het egin punt en A[1] het eindpunt is vn de knt e. (zie lz 608 vn het tesktoek). Vervng drom in het lgoritme op lz 60 vn het tekstoek de regel for ll edges e in G.incidentEdges (v) do door for ll edges e in G. incidentedges(v) do if G.endVertices(e)[0] = v De knooppunten worden in gevl vn BFS niveu voor niveu ngelopen. Als we eginnen met knooppunt BOS, dn is dt het 0 e niveu.

Vooreeldtentmen 1 Tentmen Dtstructuren en lgoritmen (T641 en T6741) In het 1 e niveu vinden we dn JFK en MIA Het e niveu levert SFO, DFW en LAX op In het 3 e niveu is er nog ORD. Een mogelijke volgorde is BOS, JFK, MIA, SFO, DFW, LAX, ORD. c Opmerking Als er verschillende knten vn het ene niveu nr het volgende niveu lopen dn worden ze in willekeurige volgorde ezocht en dus zijn er ook ndere mogelijkheden voor deze volgorde. JFK en MIA zouden ijvooreeld omgekeerd kunnen stn, ook de drie knooppunten in niveu twee kunnen onderling in een ndere volgorde stn. DirectedBFS verdeelt de edges in tree edges (discovery edges) en nontree edges. De tree edges zijn knten die leiden nr een nog niet ezocht knooppunt, en die smen met de knooppunten een oom vormen met ls wortel het eginknooppunt. In de vooreeldgrf zijn dt voor de gekozen volgorde: BOS JFK, BOS MIA, JFK SFO, JFK DFW, MIA LAX en DFW ORD. Bij de BFS (ongerichte vrint) wren nontree edges ltijd cross edges, dt wil zeggen knten die een knooppunt verinden met een knooppunt dt noch zijn voorouder noch zijn nkomeling is in de BFS oom. In de DirectedBFS vinden we twee soorten nontree edges, de genoemde cross edges: JFK MIA, MIA DFW, DFW LAX, DFW SFO en LAX ORD, en ck edges, die een knooppunt met een voorouder in de BFS oom verinden: JFK BOS en ORD DFW. OPGAVE 7 De frequentietel vn de string X = dogs do not spot hot pots or cts is: A c d g h n o p r s t 7 1 1 1 1 1 7 1 4 N verwerking met het Huffmn coderingslgoritme ontstt de volgende oom: 6

Vooreeldtentmen 1 Tentmen Dtstructuren en lgoritmen (T641 en T6741) 33 14 o 19 7 7 8 11 4 s t 6 p 4 4 1 1 g c r d 1 1 h n 1 1 De codes worden dn: d = 11111 o = 01 g = 10001 = 00 Er zijn ndere Huffmn-omen mogelijk. Het hngt f vn de volgorde in de frequentietel (of liever gezegd de volgorde wrin de elementen in eerste instntie in Q worden gezet) en ook vn de implementtie vn de priorityqueue-methoden: nl. om de heporde te herstellen ij insertie en removl wordt een ouder die groter is dn zijn kind(eren) met het kleinste kind omgewisseld. Echter ls eide kinderen even groot zijn geeft het oek geen duidelijke richtlijnen en kun je lijkr kiezen tussen het linker en rechterkind wrmee de ouder verwisseld wordt. Dus zowel verschillen in de volgorde vn de krkters ls verschillen in de mnier vn hepen kunnen tot een ndere oom leiden. Onderstnde oom ontstt door de sptie ls ltste krkter toe te voegen n Q in plts vn ls eerste krkter. 7

Vooreeldtentmen 1 Tentmen Dtstructuren en lgoritmen (T641 en T6741) 33 14 19 o 7 7 8 11 4 4 t 6 p d s 4 c h n g r 1 1 1 1 1 1 De codes worden dn: d = 1110 o = 00 g = 10110 = 01 8