Basis informatica: samenvattingspakket

Formuleoverzichten, de belangrijkste methodestappen voor elk onderwerp en 20 oefenopgaven, met volledige oplossingen achterin.

Nieuwe opgavenTerug naar het vak

Kies in het printvenster “Opslaan als pdf” om een kopie op je apparaat te bewaren.

1Formules en methoden

Talstelsels

Plaatswaarden
binair 2k, octaal 8k, hex 16k
Naar decimaal
Σ dk·bk
Vanuit decimaal
deel door het grondtal en lees de resten van onder naar boven
Hex ↔ binair
één hexcijfer = 4 bits
Two's complement
inverteer de bits en tel 1 op

Propositielogica & bewijzen

Rijen van een waarheidstabel
2ⁿ
Implicatie
p → q ≡ ¬p ∨ q ≡ ¬q → ¬p
Ontkende implicatie
¬(p → q) ≡ p ∧ ¬q
Bi-implicatie
p ↔ q ≡ (p → q) ∧ (q → p)
De Morgan
¬(p ∧ q) ≡ ¬p ∨ ¬q, ¬(p ∨ q) ≡ ¬p ∧ ¬q
Distributieve wetten
p ∨ (q ∧ r) ≡ (p ∨ q) ∧ (p ∨ r), p ∧ (q ∨ r) ≡ (p ∧ q) ∨ (p ∧ r)
Ontkende kwantoren
¬∀x P(x) ≡ ∃x ¬P(x), ¬∃x P(x) ≡ ∀x ¬P(x)
Modus ponens, modus tollens
p → q, p ⊢ q; p → q, ¬q ⊢ ¬p

Methode

  1. Tel de verschillende variabelen: de waarheidstabel heeft 2ⁿ rijen, beginnend met alle variabelen op 1.
  2. Geef elke deelformule een eigen kolom en vul de kolommen van binnen naar buiten in.
  3. Pas de regel van elk voegwoord toe: → is alleen 0 bij 1 → 0, ↔ is 1 als beide kanten gelijk zijn.
  4. Vergelijk bij equivalenties de laatste kolommen rij voor rij; kijk bij een redenering alleen naar de rijen waarin alle premissen 1 zijn.
  5. Om een bewering met kwantor te ontkennen, schuif je ¬ naar binnen, verwissel je ∀ en ∃ en ontken je de binnenste formule.

Digitale logica: poorten, K-kaarten & flip-flops

Basispoorten
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Booleaanse regels
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Volgorde van de Karnaugh-kaart
00, 01, 11, 10 (Gray code)
Groep van 2ᵏ cellen
verliest k variabelen
4-naar-1-multiplexer
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Flip-flops
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Tellers
n-bits: 2ⁿ toestanden; mod-N: kleinste n met 2ⁿ ≥ N; fuit = fklok/N
Ripple-teller
fmax = 1/(n·tpd)
Ring- en Johnson-tellers
n en 2n toestanden

Methode

  1. Werk bij een schakeling van de ingangen naar de uitgang, één poort tegelijk, en schrijf de waarde op elke draad, of schrijf de uitdrukking op en vul de waarheidstabel in.
  2. Zet voor vereenvoudiging de enen (en de don’t-cares als X) in een Karnaugh-kaart met rijen en kolommen in Gray-code: 00, 01, 11, 10.
  3. Dek de enen met zo weinig en zo grote groepen van 1, 2, 4, 8 of 16 cellen als mogelijk, met terugloop om de randen; elke groep is één productterm van de variabelen die constant blijven. Groepeer de nullen voor de POS-vorm.
  4. Lees bij flip-flops en tellers de ingangen af op elke actieve klokflank, schrijf de toestand na elke flank op, en onthoud dat een n-bits teller na 2ⁿ toestanden terugloopt.

Getaltheorie & modulair rekenen

Deling met rest
a = q·n + r, 0 ≤ r < n
Euclides
gcd(a, b) = gcd(b, a mod b)
Kleinste gemene veelvoud
lcm(a, b) = a·b/gcd(a, b)
Inverse
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Lineaire congruentie
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Eulers φ-functie
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n

Methode

  1. Reduceer eerst elk getal modulo n; resten liggen tussen 0 en n − 1.
  2. Deel voor een ggd herhaaldelijk met het algoritme van Euclides; de laatste rest ongelijk aan nul is de ggd.
  3. Laat voor een inverse het uitgebreide algoritme lopen en houd de coëfficiënt van a; tel n erbij op als die negatief is.
  4. Los a·x ≡ b op door met a⁻¹ te vermenigvuldigen; combineer twee congruenties door x = r₁ + m₁k te schrijven.
  5. Schrijf bij machten de exponent binair en kwadrateer herhaaldelijk; in RSA is d = e⁻¹ mod φ(n) met φ(n) = (p − 1)(q − 1).

Grafentheorie

Handenschudlemma
Σ deg(v) = 2|E|
Volledige grafen
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Reguliere graaf
|E| = n·k/2
Boom en bos
|E| = n − 1, |E| = n − c
Bladeren van een boom
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
circuit: alle graden even; pad: precies 2 oneven graden
Hamiltoncircuits in Kn
(n − 1)!/2
Dijkstra-update
d(v) = min(d(v), d(u) + w(u, v))
Wandelingen van lengte L
(Mᴸ)ij

Methode

  1. Schrijf de graad van elk hoekpunt op; de graden zijn samen twee keer het aantal kanten.
  2. Controleer bij Eulervragen of de graaf samenhangend is en tel de hoekpunten met oneven graad.
  3. Gebruik bij bomen n − 1 kanten en het handenschudlemma.
  4. Houd bij Dijkstra een tabel met voorlopige afstanden bij en leg elke ronde het onafgehandelde hoekpunt met de kleinste afstand vast.
  5. Sorteer voor een minimaal opspannende boom de kanten op gewicht en sla elke kant over die een cykel sluit (Kruskal), of laat één boom groeien vanuit een beginpunt (Prim).

IPv4-subnetting

Hosts per subnet
2(32 − prefix) − 2 (/31: 2, /32: 1)
Blokgrootte
256 − (mask octet)
Netwerkadres
IP AND masker
Broadcastadres
IP OR (NOT masker): alle hostbits op 1
Subnetten uit n geleende bits
2n

2Oefenopgaven

1.TalstelselsGemiddeld
8-bits two's complement0−12806403201608040201

Stel de bits zo in dat ze −67 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?

N = −678 bit
U =
2.TalstelselsMoeilijk
klik op de bits om ze in te stellen012806403201608040201

Stel de bits in op het 8-bits resultaat van 1010 1101 OR 1111 0000. Wat is de waarde R van het resultaat in decimaal?

1010 1101OR1111 0000
R =
3.Propositielogica & bewijzenGemiddeld
pqrr ∨ ¬(q ↔ p)¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)))111?110?101?100?011?010?001?000?

In hoeveel van de 8 rijen van zijn waarheidstabel is ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) waar? Noem dit aantal N.

¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)))
N =
4.Propositielogica & bewijzenMoeilijk
∀x ∃y ¬R(x, y)∀x ∀y ¬R(x, y)∃x ∀y ¬R(x, y)∃x ∃y ¬R(x, y)

Welke uitspraak is equivalent met ¬∃x ∀y R(x, y), met de ontkenning helemaal naar binnen geschoven? Klik erop.

¬∃x ∀y R(x, y)
  1. 1∀x ∃y ¬R(x, y)
  2. 2∀x ∀y ¬R(x, y)
  3. 3∃x ∀y ¬R(x, y)
  4. 4∃x ∃y ¬R(x, y)
5.Digitale logica: poorten, K-kaarten & flip-flopsGemiddeld
ABC000111100101324576

Vereenvoudig F = AB′C + ABC + B′C′ tot zijn minimale som-van-productenvorm. Hoeveel literals L bevat de vereenvoudigde uitdrukking?

F = AB′C + ABC + B′C′
L =
6.Digitale logica: poorten, K-kaarten & flip-flopsMoeilijk
TQ0​Q0​TQ1​Q1​TQ2​Q2​CLKMOD-6

Een synchrone mod-6-teller telt 0, 1, …, 5 en keert dan terug naar 0. Hij begint bij 4. Welke stand Q (decimaal) toont hij na 7 klokpulsen?

Q0 = 47N = 6
Q =
7.Getaltheorie & modulair rekenenGemiddeld

Bepaal Eulers φ φ(77), het aantal gehele getallen van 1 tot 77 die onderling ondeelbaar zijn met 77.

n = 77 = 7·11
φ(77) =
8.Getaltheorie & modulair rekenenMoeilijk
128c = me​ mod n?m = cd​ mod nm(n, e) = (221, 23)d

Versleutel het bericht m = 128 met de publieke RSA-sleutel (n, e) = (221, 23). Bepaal de cijfertekst c.

n = 221e = 23m = 128
c =
9.Algoritmen & complexiteitGemiddeld

Waarom levert dynamisch programmeren geen echte versnelling op voor mergesort?

  1. AMergesort heeft geen recursieve structuur
  2. BDynamisch programmeren werkt alleen op grafenproblemen, niet op arrays
  3. CDe deelproblemen overlappen niet, dus er valt niets te hergebruiken
  4. DMergesort is al O(n)
10.Algoritmen & complexiteitMoeilijk

Waarom is een opzoeking in een hashtabel gemiddeld O(1) maar in het slechtste geval O(n)?

  1. AArrays hebben O(n) toegang
  2. BHashfuncties zijn traag
  3. CVeel sleutels kunnen in dezelfde bucket botsen
  4. DSleutels moeten eerst gesorteerd worden
11.DatastructurenGemiddeld

Wat is in het slechtste geval de hoogte van een binaire zoekboom met n knopen als de sleutels in gesorteerde volgorde worden ingevoegd?

  1. A1
  2. Bn (hij wordt een gekoppelde lijst)
  3. Clog₂ n
  4. D√n
12.DatastructurenMoeilijk

Je moet uit een stroom van n getallen de k kleinste waarden bewaren met O(k) geheugen. Welke aanpak werkt in O(n log k) tijd?

  1. AEen min-heap met alle n waarden, waaruit aan het eind de k kleinste worden gehaald
  2. BEen FIFO-queue van de laatste k waarden
  3. CEen max-heap van grootte k, waarvan je de wortel vervangt als er een kleinere waarde binnenkomt
  4. DEen gesorteerde array van alle n waarden
13.GrafentheorieGemiddeld

Een samenhangende graaf heeft 11 hoekpunten en 20 kanten. Hoeveel kanten k moeten worden verwijderd om een opspannende boom over te houden?

|V| = 11|E| = 20
k =
14.GrafentheorieMoeilijk
11710131012210ABCDEF

Het algoritme van Dijkstra start bij A. Klik op het hoekpunt dat in ronde 5 wordt vastgelegd (definitief gemaakt); A zelf is ronde 1.

start: Aronde 5
  1. 1A
  2. 2B
  3. 3C
  4. 4D
  5. 5E
  6. 6F
15.Databases & SQLGemiddeld

Een tabel heeft rijen waarin col NULL is. Welke rijen geeft WHERE col = NULL terug?

  1. AAlle rijen van de tabel
  2. BAlleen de rijen waarin col NULL is, net als bij IS NULL
  3. CGeen rijen, omdat de vergelijking onbekend (UNKNOWN) is
  4. DEen fout in elke database
16.Databases & SQLMoeilijk

Waarom gebruik je na customers LEFT JOIN orders COUNT(o.id) in plaats van COUNT(*) om bestellingen per klant te tellen?

  1. ACOUNT(*) is niet toegestaan na een join
  2. BCOUNT(*) negeert rijen met NULL-waarden
  3. CCOUNT(*) telt de met NULL gevulde rij als 1 voor klanten zonder bestellingen
  4. DCOUNT(o.id) telt alleen verschillende klanten
17.ComputernetwerkenGemiddeld

HTTP is stateless. Hoe houden websites een gebruiker meestal ingelogd over meerdere verzoeken?

  1. ADoor elke gebruiker een vast IP-adres te geven
  2. BMet cookies die een sessie-ID of token bevatten
  3. CDoor het wachtwoord in de URL op te slaan
  4. DDoor de TCP-verbinding dagenlang open te houden
18.ComputernetwerkenMoeilijk

Je moet 192.168.1.0/24 verdelen in minstens 5 subnets met elk maximaal 25 hosts. Welke prefixlengte past het best?

  1. A/28
  2. B/25
  3. C/26
  4. D/27
19.IPv4-subnettingGemiddeld
255.255.255.24811111111111111111111111111111000netwerkbitshostbits

Een subnet gebruikt het masker 255.255.255.248. Hoeveel bruikbare hostadressen H heeft het?

255.255.255.248
H =
20.IPv4-subnettingMoeilijk
laatste octet = 75012816403201618041211netwerkhost

Een host heeft het adres 10.20.208.75/26. Wat is het laatste getal (vierde octet) x van het broadcastadres van zijn subnet?

10.20.208.75/26
x =

3Oplossingen

1.Talstelsels

Antwoord: U = 189

Bits instellen: elke bit is een macht van twee waard (128, 64, …, 1). Eén hexadecimaal cijfer is precies vier bits, en in 8-bits tweecomplement is de meest linkse bit −128 waard. Bitsgewijze bewerkingen werken op elke bitpositie apart.

Omkeren en één optellen

67 = 0100 0011
omgekeerd: 1011 1100
+1 → 1011 1101

Lezen zonder teken

1011 1101₂ = 256 − 67 = 189

Antwoord

U = 189
2.Talstelsels

Antwoord: R = 253

Bits instellen: elke bit is een macht van twee waard (128, 64, …, 1). Eén hexadecimaal cijfer is precies vier bits, en in 8-bits tweecomplement is de meest linkse bit −128 waard. Bitsgewijze bewerkingen werken op elke bitpositie apart.

Bit voor bit

OR geeft 1 waar minstens één bit 1 is.

1010 1101
OR 1111 0000
= 1111 1101

Waarde van het resultaat

1111 1101₂ = 253

Antwoord

R = 253
3.Propositielogica & bewijzen

Antwoord: N = 1

Waarheidstabellen: een formule met n verschillende variabelen heeft 2ⁿ rijen, één voor elke combinatie van waarheidswaarden (1 = waar, 0 = onwaar). Werk van binnen naar buiten en geef elke deelformule een eigen kolom. ¬a draait de waarde om; a ∧ b is alleen 1 als beide 1 zijn; a ∨ b is alleen 0 als beide 0 zijn; a → b is alleen 0 als a = 1 en b = 0; a ↔ b is 1 als beide kanten gelijk zijn.

Waarheidstabel rij voor rij

p = 1, q = 1, r = 1: ¬r = 0, p ∧ ¬r = 0, ¬(p ∧ ¬r) = 1, q ↔ p = 1, ¬(q ↔ p) = 0, r ∨ ¬(q ↔ p) = 1, ¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)) = 1, ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) = 0
p = 1, q = 1, r = 0: ¬r = 1, p ∧ ¬r = 1, ¬(p ∧ ¬r) = 0, q ↔ p = 1, ¬(q ↔ p) = 0, r ∨ ¬(q ↔ p) = 0, ¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)) = 1, ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) = 0
p = 1, q = 0, r = 1: ¬r = 0, p ∧ ¬r = 0, ¬(p ∧ ¬r) = 1, q ↔ p = 0, ¬(q ↔ p) = 1, r ∨ ¬(q ↔ p) = 1, ¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)) = 1, ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) = 0
p = 1, q = 0, r = 0: ¬r = 1, p ∧ ¬r = 1, ¬(p ∧ ¬r) = 0, q ↔ p = 0, ¬(q ↔ p) = 1, r ∨ ¬(q ↔ p) = 1, ¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)) = 1, ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) = 0
p = 0, q = 1, r = 1: ¬r = 0, p ∧ ¬r = 0, ¬(p ∧ ¬r) = 1, q ↔ p = 0, ¬(q ↔ p) = 1, r ∨ ¬(q ↔ p) = 1, ¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)) = 1, ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) = 0
p = 0, q = 1, r = 0: ¬r = 1, p ∧ ¬r = 0, ¬(p ∧ ¬r) = 1, q ↔ p = 0, ¬(q ↔ p) = 1, r ∨ ¬(q ↔ p) = 1, ¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)) = 1, ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) = 0
p = 0, q = 0, r = 1: ¬r = 0, p ∧ ¬r = 0, ¬(p ∧ ¬r) = 1, q ↔ p = 1, ¬(q ↔ p) = 0, r ∨ ¬(q ↔ p) = 1, ¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)) = 1, ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) = 0
p = 0, q = 0, r = 0: ¬r = 1, p ∧ ¬r = 0, ¬(p ∧ ¬r) = 1, q ↔ p = 1, ¬(q ↔ p) = 0, r ∨ ¬(q ↔ p) = 0, ¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p)) = 0, ¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))) = 1

Tel de rijen met waarde 1

¬(¬(p ∧ ¬r) → (r ∨ ¬(q ↔ p))): 0, 0, 0, 0, 0, 0, 0, 1
N = 1

Antwoord

N = 1
4.Propositielogica & bewijzen

Antwoord: ∀x ∃y ¬R(x, y)

Kwantoren en redeneringen: ¬∀x P(x) ≡ ∃x ¬P(x) en ¬∃x P(x) ≡ ∀x ¬P(x). Schuif een ontkenning naar binnen, verwissel elke kwantor die ze passeert en ontken de binnenste formule met de propositiewetten, zoals ¬(a → b) ≡ a ∧ ¬b. Een redenering is geldig als de conclusie 1 is in elke rij waarin alle premissen 1 zijn. Eén rij met ware premissen en een onware conclusie is een tegenvoorbeeld en toont aan dat de redenering ongeldig is.

Schuif de ontkenning naar binnen

¬∃x ∀y R(x, y) ≡ ∀x ∃y ¬R(x, y)

Antwoord

∀x ∃y ¬R(x, y)

De andere opties laten een kwantor onveranderd, veranderen de volgorde van de kwantoren, of ontkennen de binnenste formule verkeerd.

5.Digitale logica: poorten, K-kaarten & flip-flops

Antwoord: L = 4

Booleaanse algebra: de regels die uitdrukkingen vereenvoudigen zijn X + X′ = 1 en X·X′ = 0, X + X = X, absorptie X + X·Y = X, de samenvoegregel X·Y + X·Y′ = X, X + X′Y = X + Y en de consensusstelling XY + X′Z + YZ = XY + X′Z. De wetten van De Morgan veranderen (X·Y)′ in X′ + Y′ en (X + Y)′ in X′·Y′. Een Karnaugh-kaart past deze regels grafisch toe: elke groep van twee naburige cellen is één toepassing van XY + XY′ = X.

Mintermen van de uitdrukking

AB′C → m(5)
ABC → m(7)
B′C′ → m(0, 4)
ABC00011110011001030214151706

Groepeer en lees af

F = B′C′ + AC

Tel de literals

L = 4

Antwoord

L = 4
6.Digitale logica: poorten, K-kaarten & flip-flops

Antwoord: Q = 5

Flip-flops en tellers: een flip-flop verandert alleen op de actieve klokflank. D kopieert zijn ingang (Q⁺ = D); T wisselt als T = 1; JK houdt vast bij 00, reset bij 01, zet bij 10 en wisselt bij 11. Een n-bits binaire teller heeft 2ⁿ toestanden en telt modulo 2ⁿ; een mod-N-teller telt 0, 1, …, N − 1 en dan weer 0, en heeft de kleinste n met 2ⁿ ≥ N flip-flops nodig. Elke trap van een ripple-teller halveert de frequentie, dus de laatste uitgang van een mod-N-teller loopt op fklok/N. Een Johnson-teller van n flip-flops heeft 2n toestanden, een ringteller n.

Volledige cycli

Elke 6 pulsen brengen de teller terug in dezelfde toestand.

7 = 1·6 + 1

Stand na de resterende pulsen

Q = (4 + 1) mod 6 = 5
Q = 101₂

Antwoord

Q = 5
7.Getaltheorie & modulair rekenen

Antwoord: φ(77) = 60

Inversen en congruenties: a heeft een inverse modulo n precies als ggd(a, n) = 1. Het uitgebreide algoritme van Euclides schrijft 1 = s·n + t·a, en dan is a⁻¹ ≡ t (mod n). Een congruentie a·x ≡ b (mod n) met ggd(a, n) = 1 heeft de oplossing x ≡ a⁻¹·b. Twee congruenties x ≡ r₁ (mod m₁) en x ≡ r₂ (mod m₂) met onderling ondeelbare moduli hebben één oplossing modulo m₁·m₂ (Chinese reststelling). Eulers φ(n) telt de getallen van 1 tot n die onderling ondeelbaar zijn met n: φ(n) = n·∏(1 − 1/p).

Priemfactoren

77 = 7·11

φ-waarde

φ(77) = φ(7)·φ(11) = 6·10 = 60

Antwoord

φ(77) = 60
8.Getaltheorie & modulair rekenen

Antwoord: c = 19

Modulaire machten en RSA: bereken aᵏ mod n door herhaald kwadrateren: schrijf k binair, kwadrateer, reduceer na elke stap en vermenigvuldig de machten waarvan de bit 1 is. Fermat: aᵖ⁻¹ ≡ 1 (mod p) voor een priemgetal p dat a niet deelt, dus de exponent kan modulo p − 1 gereduceerd worden. RSA: kies priemgetallen p en q, n = p·q en φ(n) = (p − 1)(q − 1); de publieke exponent e is onderling ondeelbaar met φ(n), en de privé-exponent is d = e⁻¹ mod φ(n). Versleutel met c = mᵉ mod n en ontsleutel met m = cᵈ mod n.

Herhaald kwadrateren

23 = 16 + 4 + 2 + 1
1281 ≡ 128 (mod 221)
1282 ≡ 30 (mod 221)
1284 ≡ 16 (mod 221)
1288 ≡ 35 (mod 221)
12816 ≡ 120 (mod 221)
12823 ≡ 128·30·16·120 ≡ 19 (mod 221)

Cijfertekst

c = 19

Antwoord

c = 19
9.Algoritmen & complexiteit

Antwoord: C · De deelproblemen overlappen niet, dus er valt niets te hergebruiken

Waarom dit het antwoord is

De helften van mergesort zijn disjunct en worden elk één keer opgelost; DP helpt alleen als deelproblemen terugkomen, zoals bij Fibonacci.

Antwoord

C · De deelproblemen overlappen niet, dus er valt niets te hergebruiken
10.Algoritmen & complexiteit

Antwoord: C · Veel sleutels kunnen in dezelfde bucket botsen

Waarom dit het antwoord is

Met een goede hashfunctie en bezettingsgraad (load factor) blijven buckets gemiddeld kort; kwaadwillende of slechte hashing kan alle sleutels in één bucket stoppen.

Antwoord

C · Veel sleutels kunnen in dezelfde bucket botsen
11.Datastructuren

Antwoord: B · n (hij wordt een gekoppelde lijst)

Waarom dit het antwoord is

Gesorteerd invoegen levert een gedegenereerde boom met hoogte n op, waardoor zoeken O(n) wordt. Gebalanceerde bomen voorkomen dit.

Antwoord

B · n (hij wordt een gekoppelde lijst)
12.Datastructuren

Antwoord: C · Een max-heap van grootte k, waarvan je de wortel vervangt als er een kleinere waarde binnenkomt

Waarom dit het antwoord is

De wortel van de max-heap is de grootste bewaarde waarde; elke kleinere nieuwe waarde vervangt die in O(log k), zodat de heap altijd de k kleinste tot nu toe bevat.

Antwoord

C · Een max-heap van grootte k, waarvan je de wortel vervangt als er een kleinere waarde binnenkomt
13.Grafentheorie

Antwoord: k = 10

Euler, Hamilton en bomen: een samenhangende graaf heeft een Eulercircuit (elke kant één keer, terug naar het begin) als elk hoekpunt even graad heeft, en een Eulerpad dat geen circuit is als precies twee hoekpunten oneven graad hebben; het pad loopt dan van het ene oneven hoekpunt naar het andere. Een Hamiltoncircuit bezoekt elk hoekpunt één keer; Kn heeft er (n − 1)!/2. Een boom op n hoekpunten heeft n − 1 kanten, en een samenhangende graaf met m kanten houdt een opspannende boom over na het verwijderen van m − n + 1 kanten.

Kanten van een opspannende boom

11 − 1 = 10

Te verwijderen kanten

k = 20 − 10 = 10

Antwoord

k = 10
14.Grafentheorie

Antwoord: F

Kortste paden en opspannende bomen: het algoritme van Dijkstra legt per ronde één hoekpunt vast: het onafgehandelde hoekpunt met de kleinste voorlopige afstand. Zijn afstand is dan definitief, en elke buur v krijgt d(v) = min(d(v), d(u) + w(u, v)). Het algoritme van Kruskal bouwt een minimaal opspannende boom door de kanten van licht naar zwaar te nemen en elke kant over te slaan die een cykel zou sluiten; het algoritme van Prim laat één boom groeien vanuit een beginpunt door steeds de lichtste kant toe te voegen die eruit vertrekt. Een opspannende boom van n hoekpunten heeft n − 1 kanten.

Dijkstra ronde voor ronde

1. A (0): B: 11, C: 7
2. C (7): E: 17
3. B (11): D: 24
4. E (17): F: 19
5. F (19)
6. D (24)

ronde 5

F

Antwoord

F
15.Databases & SQL

Antwoord: C · Geen rijen, omdat de vergelijking onbekend (UNKNOWN) is

Waarom dit het antwoord is

Elke vergelijking met NULL via = geeft UNKNOWN, en WHERE houdt alleen TRUE-rijen over; gebruik in plaats daarvan col IS NULL.

Antwoord

C · Geen rijen, omdat de vergelijking onbekend (UNKNOWN) is
16.Databases & SQL

Antwoord: C · COUNT(*) telt de met NULL gevulde rij als 1 voor klanten zonder bestellingen

Waarom dit het antwoord is

De left join geeft voor zulke klanten één rij met NULL in de bestelkolommen; COUNT(o.id) slaat de NULL over en meldt correct 0.

Antwoord

C · COUNT(*) telt de met NULL gevulde rij als 1 voor klanten zonder bestellingen
17.Computernetwerken

Antwoord: B · Met cookies die een sessie-ID of token bevatten

Waarom dit het antwoord is

De server zet een cookie met een sessie-ID of token, en de browser stuurt die bij elk verzoek terug zodat de server de gebruiker herkent.

Antwoord

B · Met cookies die een sessie-ID of token bevatten
18.Computernetwerken

Antwoord: D · /27

Waarom dit het antwoord is

/27 geeft 8 subnets met elk 30 bruikbare hosts. /26 geeft maar 4 subnets en /28 laat maar 14 hosts per subnet toe.

Antwoord

D · /27
19.IPv4-subnetting

Antwoord: H = 6

IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).

Prefixlengte

255.255.255.248 = /29

Bruikbare hosts

23 − 2 = 6

Antwoord

H = 6
20.IPv4-subnetting

Antwoord: x = 127

IPv4-subnetting: een adres heeft 32 bits. Het prefix /p geeft aan hoeveel voorste bits het netwerk aanduiden; de overige 32 − p bits nummeren de hosts. Een subnet heeft 2³²⁻ᵖ adressen, maar het eerste (netwerkadres) en het laatste (broadcastadres) kunnen niet aan hosts worden gegeven, dus er passen 2³²⁻ᵖ − 2 hosts in. Uitzonderingen: een /31 (point-to-pointverbinding, RFC 3021) gebruikt allebei zijn 2 adressen voor hosts, en een /32 is één enkel adres (één host of een loopback).

Blokgrootte

26 = 64

Subnet van deze host

netwerk: ⌊75/64⌋·64 = 64
broadcast: 64 + 64 − 1 = 127
bruikbare hosts: 65 … 126

Antwoord

x = 127

ExamProblems · examproblems.com/courses/computer-science-fundamentals