• No results found

Deeltentamen DataStructuren 9 juni 2006 docent Marinus Veldhorst

N/A
N/A
Protected

Academic year: 2021

Share "Deeltentamen DataStructuren 9 juni 2006 docent Marinus Veldhorst"

Copied!
2
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Deeltentamen DataStructuren 9 juni 2006 docent Marinus Veldhorst

Schrijf niet met rood en niet met potlood; zet op elk in te leveren vel:

• je naam (met initialen),

• collegekaartnummer,

Besef dat de aangegeven punten bij een opgave niet noodzakelijkerwijs de zwaarte van de opgave aangeven. Wees zo verstandig om een opgave eerst helemaal door te lezen voordat je een oplossing gaat opschrijven.

1. ( 3 punt)

Zeg van elk van onderstaande beweringen of hij waar (W) of onwaar (N) is. Schrijf je antwoord bij de bewering zelf, en lever het vel bij verlaten van de zaal in.

P.S. k goede antwoorden levert een score van 0.6 max(0, k − 2) punt op.

(a) Bewering: Voor elke boom T en elke interne knoop u in T geldt: depth(u) = height(T ) − height(u).

(b) Bewering: Voor de functie f (n) = (log n)100 geldt f (n) is O(101n1/100).

(c) Bewering: Bij een postorder traversal van een binaire boom T wordt elke externe knoop van T eerder bezocht dan elke interne knoop van T .

(d) Bewering: Zoeken in een hashtabel met chaining neemt in het slechtste geval niet meer dan O(L) vergelijkingen waarbij L de load factor is.

(Met het slechtste geval wordt bedoeld het slechtste geval genomen over alle mo- gelijke series van aanroepen van de insert-operatie, gevolgd door aanroepen van de search operatie.)

(e) Bewering: Voor elk geheel getal h, h ≥ 2, bestaat een binaire boom Th van hoogte h en met 2h−1 interne knopen zodanig dat Th een externe knoop heeft op niveau 1. (Besef dat de wortel op niveau 0 zit.)

(f) Zij gegeven drie functies f , g, h, met elk als parameter een niet-negatieve integer, en als uitkomst ook een niet-negatieve integer.

Bewering: Als f (n) is O(g(n)) en g(n) is Ω(h(n)), dan geldt f (n) is Θ(h(n)).

(g) We beschouwen algemene (dus niet noodzakelijkerwijs binaire) bomen T . Zij T0 de binaire boom representatie van T .

Bewering: Voor elke algemene boom T is de postorder-volgorde van de knopen van T gelijk aan de postorder-volgorde van de knopen van T0.

2. Volledige inductie (2 punt)

In deze opgave beschouwen we bomen T waarin elke interne knoop precies drie kinderen heeft. Zulke bomen noemen we propere triaire bomen. Met E(T ) en I(T ) geven we respectievelijk het aantal externe knopen in T en het aantal interne knopen in T aan.

(a) Bewijs met inductie dat voor elke propere triaire boom T geldt1: E(T ) = 2 · I(T ) + 1.

Wees precies in het formuleren van de inductie hypothese en het zorgvuldig op- schrijven van het bewijs.

1Een 25 minuten na aanvang van het tentamen is meegedeeld dat T een niet-lege boom is, dus minstens

´

en (externe) knoop heeft.

1

Dit tentamen is in elektronische vorm beschikbaar gemaakt door de TBC van A–Eskwadraat.

A–Eskwadraat kan niet aansprakelijk worden gesteld voor de gevolgen van eventuele fouten in dit tentamen.

1

(2)

3. In deze opgave beschouwen we propere binaire bomen T . T wordt opgeslagen in een linked structure maar zonder parent -pointers.

Voor een knoop v ∈ T geven we met T (v) de deelboom in T aan die v als wortel heeft.

Als v een interne knoop is, dan is Tlef t(v) de linker deelboom van T (v) en Tright(v) de rechter deelboom van T (v).

Met closestext(v) bedoelen we de kortste afstand van v tot een externe knoop in T die tevens afstammeling is van v.2

We noemen een interne knoop v ∈ T een Q-knoop als v elk van de volgende twee eigenschappen heeft:

• Het aantal interne knopen in Tlef t(v) is strikt groter dan het aantal interne knopen in Tright(v);

• De diepte van v in T is strikt groter dan closestext(v).

(a) (0.5 punt) Teken een boom met minstens drie Q-nodes. Geef in de boom drie knopen aan die Q-nodes zijn.

(b) (2.5 punt) Geef een algoritme die voor een gegeven propere binaire boom alle Q-knopen print. Andere knopen mogen niet geprint worden. Schrijf je algoritme op in pseudo-code. De algoritme moet werken in tijd lineair in het aantal knopen van T .

Beargumenteer dat je algoritme correct is en voldoet aan de tijdgrens.

4. (2 punt) We beschouwen een initieel lege hashtabel voor 13 entries. Als hashfunctie nemen we

h1(i) = (2i + 1) mod 13

(a) Teken de hashtabel na de toevoeging van elk van de volgende keys.

4, 24, 14, 7, 20, 17, 27, 0, 11.

Collision handling wordt afgehandeld met linear probing.

(b) Zelfde vraag als bij 4 (a), maar nu wordt collision handling afgehandeld door middel van double hashing gebruik makend van de tweede hashfunctie

h2(i) = 12 − (i mod 11).

—————————- einde toets ——————————

2Besef dat v een afstammeling van zichzelf is, en dat afstand gedefinieerd is als het aantal edges op een pad.

2

2

Referenties

GERELATEERDE DOCUMENTEN

Het kan niet anders of een school die het leerstofjaarklas- sensysteem strak hanteert en dat komt nog veel voor, meer kinderen heeft of krijgt op wie deze omschrijving van toe-

(c) Laat zien dat als ~ξ en ~η Killing velden zijn, dan is α~ξ+β~η ook een Killing veld voor constante α en β. (d) Toon aan dat Lorentztransformaties van de velden in (b) de

B: Isobarische expansie: de druk van het gas wordt constant gehouden; de Nulde Hoofdwet laat het gas warmte Q H opnemen uit de omgeving zodanig dat het volume verhoogt van V 2 naar V

Het ontbreken van een helder kader geeft veel onveiligheid." Hooge vindt ook niet dat docenten professionals moeten worden in de klassieke zin van het woord. "Docenten

Besef dat de aangegeven punten bij een opgave niet noodzakelijkerwijs de zwaarte van de opgave aangeven; punten per onderdeel van een opgave kunnen verschillen.. Wees zo verstandig

Na afloop van je algoritme moeten de integers in C van klein naar groot in C zitten, en mag C geen dubbelen bevatten.. Geef je algoritme in pseudocode, en gebruik voor het access van

Interne knopen in T hebben de volgende inhoud: een pointer naar het linker kind, een pointer naar het rechter kind, een info-veld (printable in O(1) tijd), maar geen parent

Met deze rubriek sluiten we aan bij het openingsartikel waarin we de jonge dichteres Lisa Heyvaert en de poëzie in haar debuutbundel ‘Lieveheersbeestje’..