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
Formuleoverzichten, de belangrijkste methodestappen voor elk onderwerp en 20 oefenopgaven, met volledige oplossingen achterin.
Stel de bits zo in dat ze −62 opslaan in 8-bits tweecomplement. Wat is de waarde U van het patroon, gelezen als getal zonder teken?
Stel de bits in op het 8-bits resultaat van 1001 0110 XOR 0111 0000. Wat is de waarde R van het resultaat in decimaal?
Je wilt a → b bewijzen met de contrapositie. Welke implicatie bewijs je in plaats daarvan? Klik erop.
De premissen q → r; r → p; ¬p zijn gegeven. Welke conclusie volgt eruit? Klik erop.
Gebruik de Karnaugh-kaart om de minimale som-van-productenvorm (SOP) van F(A, B, C, D) = Σm(0, 1, 2, 6, 12) te vinden. Hoeveel literals L bevat die in totaal (een variabele met accent telt als één literal)?
Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(0, 3, 4, 9, 15) + d(1, 7, 8, 13, 14), waarbij d de don’t-care-condities aangeeft. Hoeveel literals L bevat die?
Los 92x ≡ 88 (mod 97) op. Geef de oplossing x met 0 < x < 97.
Gebruik herhaald kwadrateren om 1962 mod 31 te vinden.
Wat betekent het dat een probleem een optimale deelstructuur heeft?
Waarom geeft binair zoeken op een enkelvoudig gelinkte lijst geen O(log n) tijd?
Wat is in het slechtste geval de hoogte van een binaire zoekboom met n knopen als de sleutels in gesorteerde volgorde worden ingevoegd?
Wat zijn, zonder union by rank of path compression, de kosten in het slechtste geval van één find in een union-findstructuur met n elementen?
Heeft de samenhangende graaf een Eulercircuit, een Eulerpad dat geen circuit is, of geen van beide? Klik op je antwoord.
Het algoritme van Kruskal bouwt een minimaal opspannende boom. Klik op de kant die het toevoegt als kant nummer 3; overgeslagen kanten tellen niet mee.
De tabel orders heeft 5 rijen, die elk naar een bestaande klant verwijzen. De tabel customers heeft 3 rijen. Hoeveel rijen geeft een INNER JOIN op customer_id terug?
Wat geeft SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp terug?
Met welke CIDR-notatie komt het subnetmasker 255.255.255.0 overeen?
Een firewall blokkeert al het ICMP-verkeer. Kleine webverzoeken werken, maar grote downloads over sommige paden lopen vast. Wat is de waarschijnlijke oorzaak?
Een subnet gebruikt het masker 255.255.252.0. Hoeveel bruikbare hostadressen H heeft het?
Een host heeft het adres 10.20.94.64/27. Wat is het laatste getal (vierde octet) x van het broadcastadres van zijn subnet?
Antwoord: U = 194
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.
Antwoord: R = 230
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.
XOR geeft 1 waar de twee bits verschillen.
Antwoord: ¬b → ¬a
Logische equivalentie: twee formules zijn equivalent (≡) als ze in elke rij van de waarheidstabel dezelfde waarde hebben. Een tautologie is in elke rij 1, een contradictie in elke rij 0, en een contingentie is geen van beide. Nuttige wetten: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b en ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contrapositie); ¬(a → b) ≡ a ∧ ¬b; en de distributieve wetten, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
De contrapositie is equivalent met de oorspronkelijke uitspraak, dus door haar te bewijzen bewijs je de uitspraak.
Antwoord: ¬q
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.
Antwoord: L = 10
Karnaugh-kaarten: de cellen staan in Gray-code (00, 01, 11, 10), dus naburige cellen, ook die over de randen heen, verschillen in precies één variabele. Groepeer de enen in rechthoeken van 1, 2, 4, 8 of 16 cellen, zo groot en zo weinig mogelijk, totdat elke 1 gedekt is. Elke groep is één productterm: de variabelen die erin constant blijven. Een groep van 2ᵏ cellen verliest k variabelen. Don’t-cares (X) mogen worden gebruikt om groepen groter te maken maar hoeven nooit gedekt te worden. Groepeer je in plaats daarvan de nullen, dan krijg je de minimale POS-vorm.
Elke groep is een rechthoek van 2ᵏ cellen; randcellen zijn buren van de cellen op de tegenoverliggende rand.
Antwoord: L = 11
Karnaugh-kaarten: de cellen staan in Gray-code (00, 01, 11, 10), dus naburige cellen, ook die over de randen heen, verschillen in precies één variabele. Groepeer de enen in rechthoeken van 1, 2, 4, 8 of 16 cellen, zo groot en zo weinig mogelijk, totdat elke 1 gedekt is. Elke groep is één productterm: de variabelen die erin constant blijven. Een groep van 2ᵏ cellen verliest k variabelen. Don’t-cares (X) mogen worden gebruikt om groepen groter te maken maar hoeven nooit gedekt te worden. Groepeer je in plaats daarvan de nullen, dan krijg je de minimale POS-vorm.
De grootste groepen die uit enen en X’en gevormd kunnen worden.
Er bestaat een andere groepering van dezelfde grootte; die heeft hetzelfde aantal termen en literals.
Antwoord: x = 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).
Antwoord: 1962 mod 31 = 20
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.
Antwoord: A · Een optimale oplossing kan worden opgebouwd uit optimale oplossingen van de deelproblemen
Een optimale deelstructuur is nodig om zowel gulzige algoritmen als dynamisch programmeren correcte antwoorden te laten geven.
Antwoord: A · Het middelste element bereiken kost O(n) stappen, omdat er geen directe toegang via een index is
Binair zoeken heeft O(1)-toegang tot het midden nodig; in een gelinkte lijst kost het lopen daarheen lineaire tijd, dus het totaal is O(n).
Antwoord: D · n (hij wordt een gekoppelde lijst)
Gesorteerd invoegen levert een gedegenereerde boom met hoogte n op, waardoor zoeken O(n) wordt. Gebalanceerde bomen voorkomen dit.
Antwoord: A · O(n)
Naïeve unions kunnen bomen tot een lange keten koppelen, zodat find n − 1 ouderpointers kan moeten volgen; de twee heuristieken brengen het bijna op constante tijd.
Antwoord: Eulerpad, geen circuit
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.
Het Eulerpad begint bij het ene oneven hoekpunt en eindigt bij het andere.
Antwoord: kant DF
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.
Antwoord: A · 5
Elke bestelling vindt precies één bijbehorende klant, dus de join geeft één rij per bestelling: 5 rijen.
Antwoord: C · Elke werknemersrij samen met het gemiddelde salaris van de afdeling
Anders dan GROUP BY houdt een vensterfunctie elke invoerrij en voegt een waarde toe die over de partitie is berekend, hier de afdeling.
Antwoord: B · /24
Drie octetten van 255 zijn 24 enen, dus 255.255.255.0 = /24.
Antwoord: C · Path MTU discovery mislukt omdat "fragmentation needed"-berichten worden geblokkeerd
PMTUD is afhankelijk van ICMP-berichten om de kleinere MTU te leren. Als die worden weggegooid, verdwijnen grote pakketten stilletjes, wat een "black hole"-verbinding oplevert.
Antwoord: H = 1022
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).
Antwoord: x = 95
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).
ExamProblems · examproblems.com/courses/computer-science-fundamentals