• No results found

Opgave 2 (2.5 punten)

N/A
N/A
Protected

Academic year: 2021

Share "Opgave 2 (2.5 punten)"

Copied!
2
0
0

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

Hele tekst

(1)

Informatica Instituut, Faculteit Wiskunde en Informatica, UU.

In elektronische vorm beschikbaar gemaakt door de TBC van A−Eskwadraat.

Het college INFODS werd in 2002/2003 gegeven door Marinus Veldhorst.

Datastructuren (INFODS) 28 mei 2003

Opgave 1 (3 punten)

Gegeven twee queues A en B, beide van integers. Neem aan dat de elementen van A van klein naar groot in A zitten (het kleinste element vooraan, in de front-positie). Hetzelfde geldt voor B.

Elke integer in A komt precies ´e´en keer voor in A. Elke integer in B komt precies ´e´en keer voor in B.

a) Geef een algoritme dat een nieuwe queue C genereert die als elementen precies die integers x bevat die voldoen aan een van de volgende twee voorwaarden:

• x zit wel in A, maar niet in B;

• x zit wel in B, maar niet in A.

Na afloop van je algoritme moet A hetzelfde zijn als bij de start van het algoritme. Hetzelfde geldt voor B. Na afloop van je algoritme moeten de integers in C van klein naar groot in C zitten, en mag C geen dubbele bevatten.

Geef je algoritme in pseudocode, en gebruik voor het access van A, B en C alleen de operaties behorend bij het abstract datatype queue. Verder is er nog de eis dat je algoritme werkt in O(n+m) waarbij n en m het aantal elementen zijn in, respectievelijk, de oorspronkelijke A en B. Je mag ervan uit gaan dat de standaard queue-operaties in constante tijd plaatsvinden.

b) Beargumenteer dat je algoritme correct is en voldoet aan de gestelde tijdgrens, onder de aannames genoemd in onderdeel a).

Opgave 2 (2.5 punten)

Gegeven het volgende algoritme:

Algorithm weird(A):

Input: een array A van n2 integers, A heeft grenzen 0 en n2− 1

Output: een array S van n2 integers berekend volgens onderstaande methode.

for i ← 1 to n × n do xx ← 0;

integer sqrti ← b√

ic; b c rondt naar beneden af for j ← 0 to n × sqrti − 1

do xx ← xx + A[(3 × j) mod (n × n)] + sqrti enddo S[i − 1] ← bxx/((i + 1) × (sqrti + 1))c

enddo return S

Maak een zo goed mogelijke tijdsanalyse (worst-case) van algoritme weird, in termen van grote O van een functie in n.

Je mag ervan uit gaan dat b√

ic in tijd O(log i) berekend wordt uit i, dat return S in constante tijd plaatsvindt, en dat de operaties mod en b c elk ook in constante tijd werken.

(2)

Opgave 3 (2.5 punten)

Orden de volgende lijst van functies van klein naar groot in grote O notatie (oftewel, hoe staan ze geordend op de functiethermometer). Geef daarbij ook aan welke functies grote Θ van elkaar zijn. Ga ervan uit dat de log-functie grondtal 2 heeft. Verder zijn ter herinnering nog vermeld dat log log n een verkorte schrijfwijze is van log(log n).

n log n 2log nn 4n n3 (log(√ n))2 2(2n) d√

ne n0.01 2n 4n32

4log n 2100 log log n (log n)2 2log log n

n2 log n

√log n 5n b2n(log n)2c n23log n

n2

Er worden geen bewijzen gevraagd.

Opgave 4 (2 punten)

Stel we hebben een enkelvoudig gelinkte lijst L zonder header en trailer sentinels (schildwachten).

L bevat een oneven aantal knopen. Geef in pseudocode een algoritme dat, gegeven een pointer naar de eerste knoop van L, de middelste knoop van L vindt, waarbij je alleen met pointer hopping door de lijst mag gaan. Met name mag je geen teller gebruiken. Je algoritme moet werken in een worst-case die lineair is in het aantal knopen in L.

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

Referenties

GERELATEERDE DOCUMENTEN

Daar had ik dan wat van willen veTnemen. Och ja, zei minister Van Aartsen, het is natuurlijk ook mogelijk uitsluitend woningwetwoningen te bouwen, maar de ' overheid

Het magazijn in Boelenslaan bevindt zich in de fabriek en wordt als hoofdmagazijn beschouwt. In de vroege jaren van Pointer werd deze hal gecombineerd met de montagehal. In dat

Om af te sluiten kan je op de laatste schooldag weer samen het versje zeggen en iedere klas doet zijn eigen gebaren.. De tekst verbindt je als school, de gebaren verbinden jullie

De Samenwerkingsagenda en het bijbehorende Mobiliteitsprogramma 2021- 2024 zijn opgesteld door het Kwartiermakersteam (een team bestaande uit vertegenwoordigers vanuit

De omvorming van de voormalige Luitenant Generaal Knoopkazerne tot Rijkskantoor De Knoop, een modern kantoorgebouw en vergadercentrum voor rijksambte- naren, is binnen een

Gegeven is een enkelvoudig gelinkte lijst (singly linked list) L met een onbekend maar even aantal knopen, en een sentinel head die wijst naar de eerste knoop van L. Geef een zo

Tevens moet in elke knoop de papa-pointer naar de ouder van die knoop gaan wijzen (NULL voor d.e wortel).. De hoogte van een boom is het grootste niveau dat voorkomt,

Als je de antwoorden niet op de logische volgorde opschrijft, vermeld dan duidelijk waar welk antwoord staat..