Zoek- en sorteeralgoritmen en hashing
|
|
- Christiaan van Veen
- 8 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Zoek- en sorteeralgoritmen en hashing Femke Berendsen ( ) en Merel van Schieveen ( ) 9 april
2 Inhoudsopgave 1 Inleiding 3 2 Zoek- en sorteeralgoritmen Grote O notatie Zoekalgoritmen Sorteermethoden Hashfuncties Inleiding Herbruikbaar Onomkeerbaar Vaste Lengte Geen Collisions De output-lengte van MD5 (128 bit) Het Hexadecimaal systeem Het Binaire systeem Collision Het verjaardagsprobleem 9 6 Conclusie 11 7 Opgaven Opgave Opgave Opgave
3 1 Inleiding Het kan voorkomen dat je een enorme lijst met data hebt waarin je één bepaald gegeven zoekt. Dit kan zijn een lijst met namen van mensen, of een bepaald getal. Om zo n gegeven te zoeken zijn talloze mogelijkheden. In de informatica zijn verschillende algoritmen ontwikkeld om dit te doen. In dit verslag zullen we ingaan op deze zoek- en sorteeralgoritmen. Iedereen heeft er mee te maken: steeds meer dingen gebeuren via internet. Waar vroeger nog een brief gestuurd werd, wordt nu een mail verzonden. Zaken waar je vroeger nog voor naar de bank moest, zijn nu allemaal via internet te regelen. Dit is heel handig, maar ook enigszins gevaarlijk. Als er geen goede beveiliging is van deze zaken kan hier flink misbruik van gemaakt worden. Daarom is het noodzakelijk dat vertrouwelijke informatie die via internet verzonden wordt veilig versleuteld is. Ook moet er een goede manier zijn om wachtwoorden op te slaan: als bij een website wordt ingebroken, mag het niet zo zijn dat zomaar alle vertrouwelijke informatie of wachtwoorden zichbaar zijn. Wel moet het zo zijn dat een website kan herkennen of iemand het goede wachtwoord invoert. Hoe zorg je nou dat je met een wachtwoord veilig naar binnen kan, zonder dat het ergens opgeslagen staat? Hier liggen veel wiskundige methoden aan ten grondslag. In dit verslag zullen we uitleggen welke methoden hieraan ten grondslag liggen. 2 Zoek- en sorteeralgoritmen 2.1 Grote O notatie De grote O notatie wordt in de informatica gebruikt om een tijdsindicatie voor een bepaald algoritme te geven. Hierbij wordt uitgegaan van het slechtste geval. Stel dat een algoritme op zijn langst n stappen nodig heeft om tot een oplossing te komen, dan wordt de geschatte tijd voor dat algoritme gegeven door O(n). Bij de volgende algoritmen zullen we ook bekijken wat de tijd is die de algoritmen nodig hebben, en daarbij deze notatie gebruiken. 2.2 Zoekalgoritmen We zullen twee verschillende zoekalgoritmen bekijken, namelijk Lineair zoeken en Binair zoeken. 3
4 Bij Lineair zoeken bekijk je het eerste element in de lijst en bekijk je vervolgens elk volgend element totdat het gezochte element gevonden is. Wanneer de data n elementen bevatten is de benodigde tijd van dit algoritme O(n). Wanneer n heel groot is kan het zoekproces dus heel erg lang duren. Lineair zoeken kan worden gebruikt om een ongesorteerde lijst te doorzoeken. Wanneer een lijst wel gesorteerd is, wordt het zoekproces al een stuk eenvoudiger. Wanneer de lijst gesorteerd is kunnen we Binair zoeken. Bij dit algoritme zijn de data gesorteerd (bijvoorbeeld van klein naar groot, of van A naar Z) en wordt het gezochte gegeven gevonden door halvering van de data. We nemen een gesorteerde rij data en bekijken de middelste waarde. Wanneer deze kleiner is dan de gezochte waarde bekijken we de helft die groter is dan deze waarde, wanneer deze groter is dan de gezochte waarde bekijken we de helft die kleiner is dan deze waarde. Vervolgens voeren we op die helft weer hetzelfde uit. Zo krijg je een proces waarbij je steeds de zoekruimte halveert en uiteindelijk de goede waarde vindt. Omdat je elke keer halveert, is de tijd die het algoritme nodig heeft is maximaal log 2 (n) dus dit algoritme heeft tijd O(log n). 2.3 Sorteermethoden Voordat we binair kunnen zoeken moeten we eerst de rij data nog sorteren. Hiervoor zijn ook twee algoritmen die we zullen behandelen, namelijk Insertion sort en Merge sort. Bij Insertion sort bekijk je de twee eerste elementen en zet je die op volgorde. Vervolgens bekijk je het volgende element in de rij en kijk je waar deze in het gesorteerde rijtje moet, en zo verder met alle elementen. Voor ieder afzonderlijk element moet je het gesorteerde rijtje af om te kijken waar dit element hoort te staan, en dit moet je doen voor alle n elementen. Daarom is de tijd die dit algoritme nodig heeft O(n 2 ). Een ander sorteeralgoritme is Merge sort. Bij dit algoritme verdeel je de rij data in twee rijen, die twee rijen halveer je ook weer, en dit doe je net zo lang totdat je allemaal rijen met één element overhoudt. Vervolgens ga je deze rijen weer twee aan twee samenvoegen. Hiervoor bekijk je uit elk van de twee rijtjes het voorste element, om te bepalen welk element eerst moet. Zo voeg je alle rijen weer samen en krijg je uiteindelijk een gesorteerde rij met 4
5 data. Voor het bepalen welk element eerst moet bekijk je alle elementen, dit is dus O(n), en er moeten log(n) keer rijen samengevoegd worden dus de totale tijd van dit algoritme is O(n log n). 3 Hashfuncties 3.1 Inleiding Het is belangrijk om veilig te kunnen internetten. Er zijn veel hackers actief die op internet zoeken naar wachtwoorden van mensen, zodat ze bijvoorbeeld geld van hun bankrekening af kunnen halen. Daarom is het belangrijk dat er een goede beveiliging is op internet, en een goede manier om wachtwoorden op te slaan. Als een wachtwoord gewoon op internet opgeslagen wordt, is het voor hackers heel makkelijk om er achter te komen wat je wachtwoord is. Verder heeft de aanvaller dan niet alleen de wachtwoorden van alle geregisteerden op deze website, maar misschien ook de wachtwoorden van deze mensen voor andere websites, als mensen hetzelfde wachtwoord voor meerdere websites gebruiken. Daarom is het belangrijk dat een wachtwoord op zo n manier wordt opgeslagen, dat niet makkelijk (of helemaal niet) te achterhalen is wat het wachtwoord oorspronkelijk was. Het wachtwoord moet dus op zo n manier vervormd worden dat na vervorming niet meer te zien is wat het wachtwoord was. Functies die hiervoor gebruikt worden, worden hashfuncties genoemd. Maar aan welke eigenschappen moet zo n hashfunctie eigenlijk voldoen? 3.2 Herbruikbaar Ten eerste willen we dat de hashfunctie voor dezelfde input ook altijd dezelfde output, ook wel hash genoemd, geeft. Het orginele wachtwoord wordt namelijk niet opgeslagen, alleen de hash van het wachtwoord wordt opgeslagen. Dus als hetzelfde wachtwoord niet altijd dezelfde hashes geeft, wordt je wachtwoord niet geaccepteerd, en zul je niet kunnen inloggen. 3.3 Onomkeerbaar Een bekende versleuteling is de Caesarrotatie. Julius Caesar versleutelde zijn berichten door de A te vervangen door de D, de B door de E enzovoort. Deze manier van versleuteling kan weergegeven worden in de volgende formule: E(x) = (x + 3) mod 26 5
6 Hierbij is x de plaats van de letter in het alfabet, en E(x) de plaats in het alfabet van de versleutelde letter. Hierbij staat A op plaats 0 en Z op plaats 25. Dus voor het wachtwoord W ACHT W OORD, zal ZDF KW ZRRUG opgeslagen worden. Om deze manier van versleutelen te ontcijferen is echter niet moeilijk. Daarom wordt deze bekende methode ook niet meer gebruikt. Een andere belangrijke eigenschap van de hashfunctie is dus dat het versleutelde wachtwoord niet terug te rekenen is naar het orginele wachtwoord. 3.4 Vaste Lengte Wat in het voorbeeld over Caesarrotatie ook goed te zien is, is dat de lengte van het versleutelde wachtwoord informatie kan geven over de lengte van het originele wachtwoord. In het voorbeeld is namelijk de lengte van het versleutelde wachtwoord gelijk aan de lengte van het originele wachtwoord. We willen dus dat lengte van de hash (de output van de hashfunctie) geen enige informatie geeft over het originele wachtwoord. We stellen daarom de voorwaarde dat de hash altijd dezelfde lengte heeft, ongeacht de input. 3.5 Geen Collisions De laatste belangrijke eigenschap van een hashfunctie is dat er geen collisions mogen voorkomen. Dit betekent dat er niet dezelfde hash mag uitkomen voor verschillende wachtwoorden. Dit komt later nog uitgebreider aan bod. 4 De output-lengte van MD5 (128 bit) MD5 is een veelgebruikte hashfunctie met een 128 bit hashwaarde. MD5 is ontworpen door Ronald Rivest in 1991 om de voorgaande hashfunctie MD4 te vervangen. MD5 is een 128 bit functie, we zullen uitwerken wat dit precies inhoudt. 4.1 Het Hexadecimaal systeem MD5 gebruikt het hexadecimaal systeem. Het hexadecimaal systeem is een getalstelsel met niet 10 tekens als basis, wat het geval is bij ons normale getalstelsel, maar het heeft een basis van 16 tekens. De cijfers 0 tot en met 9 worden aangevuld met A tot en met F, die ook wel gezien kunnen worden als 10 tot en met 15. 6
7 Voorbeeld 53F 2A9C = = 4.2 Het Binaire systeem 88, 025, 756 De computer werkt echter met het binaire systeem, en niet met het hexadecimaal systeem. Met het binaire systeem, ookwel het tweetallige systeem genoemd, worden getallen weergegeven door een rijtje met alleen de tekens 0 en 1. In dit binaire systeem worden 0 en 1 ook wel bits genoemd. MD5 is een 128-bit hashfunctie, dit betekent dat de hashfunctie een output van 128 nullen of enen genereert. De output die uiteindelijk gegeven wordt, de hash, is echter in het hexadecimaal getalsysteem. De binaire output wordt dus nog omgezet naar een hexadecimaal getal. Nu is de vraag hoe we van het binaire getalstelsel naar het hexadecimaal getalstelsel omrekenen. Het hexadecimaal getalstelsel bestaat uit 0 tot en met 9 en A tot en met F, ofwel 0 tot en met 15. Het grootste getal 15 kun je schrijven als 15 = = ofwel 1111 in het binaire stelsel. Er zijn dus minstens 4 digits nodig om een teken van het hexadecimaal stelsel om te zetten in het binaire stelsel. Hoe de andere tekens van het hexadecimaal stelsel uitgedrukt kunnen worden in het binaire stelsel is weergegeven in de onderstaande tabel. 7
8 Binair Decimaal Hexadecimaal A B C D E F Voorbeeld = = 53F 2A9C Elke teken uit het hexadecimaalstelsel heeft dus 4 digits nodig, ofwel 4 bits. MD5 is een 128-bit hashfunctie en geeft als output dus 128 digits. Als deze 128 digits omgezet worden naar een hexadecimaal getal, zijn er dus = 32 tekens van het hexadecimaal systeem als output. De hash bestaat dus uit 32 tekens. 4.3 Collision Zoals hiervoor aangetoond bestaat een hash uit 32 tekens uit het hexadecimaalstelsel. Voor alle 32 plekken zijn dus 16 mogelijke tekens. Het aantal mogelijke hashes is dus: = 340, 282, 366, 920, 938, 463, 463, 374, 607, 431, 768, 211, 456 De kans dat twee verschillende inputs dezelfde output geeft zou dus bijna onmogelijk zijn. Maar dan moeten wel alle mogelijke hashes gebruikt worden. Een perfecte hashfunctie zou dus zo ontworpen moeten worden dat de 8
9 hashes uniform worden verdeeld over de output-ruimte. We hebben gezien dat er ontzettend veel mogelijke hash-waarden zijn, en dat daarom de kans dat twee verschillende wachtwoorden dezelde hash-waarden geven heel klein is. Wanneer dit toch het geval is, dan worden deze twee wachtwoorden een collision genoemd (letterlijke vertaling: botsing). Toch gebeurd het wel eens dat er sprake is van een collision. Hoe dit komt, zullen we uitleggen aan de hand van het verjaardagsprobleem. 5 Het verjaardagsprobleem Stel je hebt een groep van k mensen, en we gaan bekijken hoe groot de kans is dat twee van die mensen op dezelfde dag jarig zijn. Gegeven de functie f, willen we dus x en y vinden zodat f(x) = f(y) met f een functie die de dag aangeeft dat persoon x jarig is. Het paar (x, y) heet dan een collision. Wanneer er 366 mensen zijn, is de kans dat er twee mensen tegelijk jarig zijn 100%. Wanneer we een groep hebben van k mensen, hebben we ( ) k 2 verschillende combinaties van 2 mensen. De kans dat een persoon op een 1 bepaalde dag jarig is, is 365, we gaan er dus vanuit dat iedere dag evenveel kans heeft. Wat is de kleinste waarde van k, zodanig dat de kans dat ten minste twee mensen in een groep van k mensen op dezelfde dag jarig zijn, groter is dan 0, 5? We definieren P (n, k) = P [minstens één duplikaat per k items, waarbij elk item een waarde tussen 1 en n aan kan nemen die allen even waarschijnlijk zijn]. We zoeken dus naar de kleinste waarde van k zodat P (365, k) > 0, 5. De kans dat er geen duplikaten zijn definieren we als Q(365, k). Als k > 365 dan is het onmogelijk dat alle waarden verschillen. Daarom nemen we aan dat k 365. We beschouwen nu het aantal verschillende manieren N dat we k waarden zonder duplicaten kunnen hebben. We zien dat N = (365 k + 1) = 365! (365 k)!. Als we stellen dat er wel duplikaten mogen zijn dan is het aantal totale mogelijkheden 365 k. De kans dat er geen duplicaten zijn is dus Aantal manieren zonder duplicaten Q(365, k) = Totaal aantal manieren = N = 365!/(365 k)! 365! = 365 k 365 k (365 k)!365 k en P (365, k) = 1 Q(365, k) = 1 365! (365 k)!365 k. Voor k = 23 geldt dat P (365, 23) = Er zijn dus maar 23 mensen nodig om een kans van 0.5 te hebben dat twee mensen op dezelfde dag jarig zijn. Als k = 41 is deze kans al meer dan 0.9. We zien dus dat de kans op 9
10 twee mensen op dezelfde dag jarig al heel snel heel erg groot wordt, terwijl de groep mensen dan niet eens heel erg groot is. We kunnen het verjaardagsprobleem generaliseren tot het volgende probleem: gegeven een random variabele die een gehele waarde aanneemt tussen 1 en n, en k waarden (met k n) van de random variabele. Wat is de kans P (n, k) dat er minstens één duplikaat is? Het verjaardagsprobleem is een speciaal geval, met n = 365. Net als hiervoor hebben we weer n! P (n, k) = 1. We kunnen dit herschrijven als (n k)!n k P (n, k) = 1 n (n 1) (n k+1) n k = 1 ( n n n 1 n n (k 1) n ) = 1 (1 1 n ) (1 2 k 1 n )... (1 n ) Met de ongelijkheid (1 x) e x krijgen we dan: P (n, k) = 1 (1 1 n ) (1 2 k 1 n )... (1 n ) 1 e 1 n e 2 n... e k 1 n = 1 e ( 1 n + 1 k n n ) = 1 e k(k 1)/2n We willen nu weten voor welke k geldt dat P (n, k) > 0.5. Hiervoor lossen we de gelijkheid P (n, k) = 1 2 op. Dan geldt 1 2 = 1 e k(k 1)/2n 2 = e k(k 1)/2n ln(2) = k (k 1) 2n Voor grote k kunnen we k (k 1) vervangen door k 2 en krijgen we k = 2n ln 2 = 1, 18 n n. We kunnen dit controleren door ons verjaardagsprobleem weer in te voeren, als we n = 365 nemen krijgen we k = 1, = 22, 54, wat heel erg dicht bij 23 ligt. De verjaardagsaanval kunnen we nu ook toepassen op hashfuncties. We bekijken in het bijzonder weer MD5, dit is een 128 bit hashfunctie. Deze functie heeft dan mogelijke uitvoerwaarden. Als MD5 wordt toegepast op k willekeurige invoerwaarden, kunnen we bekijken wat k minimaal moet zijn om te zorgen dat er een kans van minstens één duplicaat bestaat. Met de benadering van hierboven vinden we dan dat k = = 2 128/2 = Je zou in eerste instantie denken dat een hashfunctie heel veilig is. Met 10
11 een bericht M heb je hash H(M), je moet dus een M zoeken waarvoor geldt H(M) = H(M ). Er zijn ontzettend veel hashwaarden, maar zoals we hierboven gezien hebben hoef je dus maar 2 64 waarden in te voeren om een redelijke kans op een collision te hebben. Gegeven een bepaalde hashwaarde, is het dus mogelijk om een wachtwoord te vinden met dezelfde hashwaarde. Hier kan dan misbruik van gemaakt worden. Oorschot en Wiener ontworpen in 1994 een 10 miljoen dollar kostende botsing-zoekmachine voor MD5. Deze machine was in staat om in 24 dagen een collision te vinden. Hierdoor was MD5 niet meer zo veilig als eerst gedacht. Er worden nog steeds nieuwe hashfuncties ontwikkeld om hackers voor te blijven. 6 Conclusie De beveiliging van wachtwoorden is tot op heden nog steeds in volle ontwikkeling. Hashfuncties worden steeds beter maar hackers slagen er toch steeds weer in om misbruik te maken van de imperfecties van deze functies. Door betere computers wordt de rekentijd ook steeds korter en is het voor hackers makkelijker om achter wachtwoorden te komen. Het is daarom belangrijk om voorzichtig te zijn op internet! 11
12 7 Opgaven 7.1 Opgave 1 Gegeven de volgende rij met getallen: 65, 81, 66, 74, 44, 79, 91, 59. Bekijk met welke zoekmethode je het snelst het getal 91 vind. Hoeveel stappen kost dit? Vergelijk de methoden lineair zoeken, en binair zoeken (waarbij je beide sorteermethoden insert sort en merge sort gebruikt). Leg precies uit hoeveel stappen deze methoden in dit geval kosten. Wat kun je voor conclusie(s) trekken? 7.2 Opgave 2 Gegeven is de volgende hash: 293C4E8F0A. Wat is de oorspronkelijke binaire hashcode? En wat is de waarde in ons tientallig stelsel? Geef je berekeningen. 7.3 Opgave 3 Brute krachtaanval: Bij een brute krachtaanval probeert een hacker alle mogelijke wachtwoorden om achter het goede wachtwoord te komen. Neem aan dat een wachtwoord lengte 6 heeft en dat zowel kleine letters, hoofdletters en cijfers gebruikt mogen worden. Hoe lang doe je er gemiddeld over met de brute krachtaanval om het wachtwoord te kraken, er vanuit gaande dat er geen collisions zijn, als: a) het 0.1 seconde duurt om een wachtwoord te testen? b) het 10 6 seconde duurt om een wachtwoord te testen? c) Wat gebeurt er als de wachtwoorden lengte 10 hebben? Vergelijk je antwoord met a) en b). 12
13 Referenties [1] Bruce Schneier, 1996, Applied Cryptography; Protocols, Algorithms, and Source Code in C, John Wiley & Sons, Inc. [2] William Stallings, 1999, Netwerkbeveiliging en cryptografie; Beginselen en praktijk, Academic Service, Schoonhoven. [3] Gerard Tel, 2002, Cryptografie; Beveiliging van de digitale maatschappij, Pearson Education Benelux. [4] Steve Friedl, 2005, An Illustrated Guide to Cryptographic Hashes, 13
De cryptografie achter Bitcoin
De cryptografie achter Bitcoin Benne de Weger b.m.m.d.weger@tue.nl augustus 2018 digitale handtekeningen 1 doel: authenticatie sterke verbinding aanleggen tussen een document en een identiteit wordt doorgaans
Nadere informatie1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12
Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal
Nadere informatieUitwerking tentamen Analyse van Algoritmen, 29 januari
Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4
Nadere informatieRekenen: Meten groep 4 en hoger. Het leren van simpele weegopdrachten.
Activiteit 7 Lichtste en zwaarste Sorteer algoritmes Samenvatting Computers worden vaak gebruikt om lijsten in een bepaalde volgorde te zetten, bijvoorbeeld namen in alfabetische volgorde, e-mails of afspraken
Nadere informatieHexadecimale en binaire getallen
Bijlage G Hexadecimale en binaire getallen Binaire en andere talstelsels De getallen waar wij gewoonlijk mee werken zijn genoteerd volgens het decimale stelsel. Het decimale stelsel is een zogenoemd positiestelsel.
Nadere informatie+ = Talstelsels. Maar wat is dan: -
Talstelsels Wie leert rekenen doet dat in het begin vaak met z n vingers erbij: 1 + 4 = Elke vinger krijgt een naam : één, twee,.tien. Eigenlijk is er helemaal geen sprake van rekenen, maar van tellen:
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 2 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Priority queue Priority queue ADT insert(q, x): voeg element x toe aan de queue maximum(q):
Nadere informatieOpdracht 1 Topics on Parsing and Formal Languages - fall 2010
Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 13 november 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]
Nadere informatieFig. 2. Fig. 1 5 4,5 4 3,5 3 2,5 2 1,5 U (V) 0,5. -20 0 20 40 60 80 100 temperatuur ( C)
Deze opgaven en uitwerkingen vind je op https://www.itslearning.com en op www.agtijmensen.nl Wat je moet weten en kunnen gebruiken: Zie het boekje Systeembord.. Eigenschappen van de invoer-elementen (sensor,
Nadere informatieElke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten.
Versie 16 januari 2017 Sorteren unplugged Sorteren gebeurt heel veel. De namen van alle leerlingen in de klas staan vaak op alfabetische volgorde. De wedstrijden van een volleybal team staan op volgorde
Nadere informatieGeldwisselprobleem van Frobenius
Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme
Nadere informatie4,7. Praktische-opdracht door een scholier 1959 woorden 1 juni keer beoordeeld
Praktische-opdracht door een scholier 1959 woorden 1 juni 2001 4,7 331 keer beoordeeld Vak Wiskunde Tientallig stelsel In een tientallig stelsel heb je de getallen 0 t/m 9 tot je beschikking. Zoals je
Nadere informatieHoe je het cryptosysteem RSA soms kunt kraken. Benne de Weger
Hoe je het cryptosysteem RSA soms kunt kraken Benne de Weger 28 aug. / 4 sept. RSA 1/38 asymmetrisch cryptosysteem versleutelen met de publieke sleutel ontsleutelen met de bijbehorende privé-sleutel gebaseerd
Nadere informatieTHEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal)
THEORIE TALSTELSELS De binaire code Het geheugenelement van de computer kan slechts twee verschillende waarden bevatten. De schakelingen uit de computer werken daarom met een tweetallig ofwel binair stelsel.
Nadere informatieIeder tweetal heeft nodig: Een kopie van de slagschipspelletjes: 1. 1A, 1B voor spel A, 2B voor spel A, 3B voor spel 3
Activiteit 6 Slagschepen Zoekalgoritme Samenvatting Computers zijn vaak nodig om informatie te vinden in grote hoeveelheden data. Ze moeten een snelle en efficiënte manier ontwikkelen om dit te doen. Deze
Nadere informatieActiviteit 1. Tel de punten Binaire Getallen. Samenvatting. Kerndoelen. Vaardigheden. Leeftijd. Materiaal
Activiteit 1 Tel de punten Binaire Getallen Samenvatting Data in de computer worden opgeslagen als een serie van nullen en enen. Hoe kunnen we woorden en getallen weergeven met alleen deze twee symbolen?
Nadere informatieOpdracht 1 Topics on Parsing and Formal Languages - fall 2010
Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]
Nadere informatieCode signing. Door: Tom Tervoort
Code signing Door: Tom Tervoort Wat is code signing? Digitale handtekening onder stuk software Geeft garanties over bron Voorkomt modificatie door derden Bijvoorbeeld met doel malware toe te voegen Ontvanger
Nadere informatieDe wiskunde achter de Bitcoin
De wiskunde achter de Bitcoin Bas Edixhoven Universiteit Leiden NWD, Noordwijkerhout, 2015/01/31 Deze aantekeningen zal ik op mijn homepage plaatsen. Bas Edixhoven (Universiteit Leiden) De wiskunde achter
Nadere informatieCombinatorische Algoritmen: Binary Decision Diagrams, Deel III
Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse
Nadere informatieGetaltheorie I. c = c 1 = 1 c (1)
Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk
Nadere informatie2 Elementaire bewerkingen
Hoofdstuk 2 Elementaire bewerkingen 19 2 Elementaire bewerkingen 1 BINAIRE GETALLEN In het vorige hoofdstuk heb je gezien dat rijen bits worden gebruikt om lettertekens, getallen, kleuren, geluid en video
Nadere informatie8. Complexiteit van algoritmen:
8. Complexiteit van algoritmen: Voorbeeld: Een gevaarlijk spel 1 Spelboom voor het wespenspel 2 8.1 Complexiteit 4 8.2 NP-problemen 6 8.3 De oplossing 7 8.4 Een vuistregel 8 In dit hoofdstuk wordt het
Nadere informatieBinaire getallen? Werkboek. Doeblad
Een computer is een soort grote rekenmachine. Hij bestaat uit een aantal onderdelen. Een belangrijk onderdeel is de harde schijf. Dit is het geheugen van de computer. Die bewaart alle informatie en documenten.
Nadere informatieHoofdstuk 9. Hashing
Hoofdstuk 9 Hashing Het zoeken in een verzameling van één object is in deze cursus al verschillende malen aan bod gekomen. In hoofdstuk 2 werd uitgelegd hoe men een object kan zoeken in een array die veel
Nadere informatieRecursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieMemoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0.
REKENEN VIJFDE KLAS en/of ZESDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Luc Cielen: Regels van deelbaarheid, grootste gemene deler en kleinste gemeen veelvoud 1 Deelbaarheid door 10, 100, 1000. Door
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, mei 2007
Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In
Nadere informatieDatastructuren en Algoritmen
Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen
Nadere informatieWouter Geraedts Processen & Processoren
FACULTEIT DER NATUURWETENSCHAPPEN, WISKUNDE EN INFORMATICA Wouter Geraedts Overzicht Welkom op het werkcollege van Processen & Processoren! Gang van zaken Behandelen oefenopgaven w.geraedts@student.ru.nl
Nadere informatieZevende college Algoritmiek. 6 april Verdeel en Heers
Zevende college Algoritmiek 6 april 2018 Verdeel en Heers 1 Algoritmiek 2018/Backtracking Programmeeropdracht 2 Puzzel 2: D O N A L D G E R A L D + R O B E R T Elke letter stelt een cijfer voor (0,1,...,9)
Nadere informatieRSA. F.A. Grootjen. 8 maart 2002
RSA F.A. Grootjen 8 maart 2002 1 Delers Eerst wat terminologie over gehele getallen. We zeggen a deelt b (of a is een deler van b) als b = qa voor een of ander geheel getal q. In plaats van a deelt b schrijven
Nadere informatieTRAINING HOUT WERKBLAD BINAIRE OMREKENMACHINE
1 MENS & NATUUR TRAINING HOUT WERKBLAD BINAIRE OMREKENMACHINE De vader van Mieke en Toby werkt al 30 jaar bij hetzelfde bedrijf. Als dank krijgt de vader van Mieke en Toby van zijn baas een heel bijzonder
Nadere informatieinformatica. cryptografie. overzicht. hoe & wat methodes belang & toepassingen moderne cryptografie
informatica cryptografie overzicht hoe & wat methodes belang & toepassingen moderne cryptografie 1 SE is op papier hoe & wat vragen komen uit methode en verwijzingen die in de methode staan in mappen RSA
Nadere informatieFLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j
FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van
Nadere informatieTentamen Grondslagen van de Wiskunde A Met beknopte uitwerking
Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking 10 december 2013, 09:30 12:30 Dit tentamen bevat 5 opgaven; zie ook de ommezijde. Alle opgaven tellen even zwaar (10 punten); je cijfer is
Nadere informatieProgrammeermethoden NA. Week 6: Lijsten
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal
Nadere informatieLes A-03 Binaire en hexadecimale getallen
Les A-03 Binaire en hexadecimale getallen In deze les wordt behandeld hoe getallen kunnen worden voorgesteld door informatie die bestaat uit reeksen 0-en en 1-en. We noemen deze informatie digitale informatie.
Nadere informatieOpgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep.
Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht
Nadere informatieKleuren met getallen Afbeeldingen weergeven
Activiteit 2 Kleuren met getallen Afbeeldingen weergeven Samenvatting Computers slaan tekeningen, foto s en andere afbeeldingen op door het gebruik van getallen. De volgende opdracht laat zien hoe. Kerndoelen
Nadere informatieIn Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:
Katern 4 Bewijsmethoden Inhoudsopgave 1 Bewijs uit het ongerijmde 1 2 Extremenprincipe 4 3 Ladenprincipe 8 1 Bewijs uit het ongerijmde In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel
Nadere informatie3. Structuren in de taal
3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we
Nadere informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatieopgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.
opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): ℵ 0 #A, B = {b 0,..., b n 1 } voor een zeker natuurlijk getal
Nadere informatieFout detecterende en verbeterende codes
Profielwerkstuk Fout detecterende en verbeterende codes Een compacte module over het onderwerp fouten detectie en verbetering Gemaakt door Roy van Schaijk, Boris Kloeg en Willy Mackus Inhoudsopgave. Introductie
Nadere informatietalstelsels F. Vonk versie 1 30-7-2013
2013 talstelsels F. Vonk versie 1 30-7-2013 inhoudsopgave 1. inleiding... - 2-2. binair... - 4-3. hexadecimaal... - 10-4. octaal (vwo)... - 17-5. bonus opgaves... - 20-6. wat heb je geleerd... - 21 - Dit
Nadere informatieDe digitale handtekening
De digitale handtekening De rol van de digitale handtekening bij de archivering van elektronische documenten Prof. dr. Jos Dumortier http://www.law.kuleuven.ac.be/icri Probleemstelling: «integriteit» Elektronisch
Nadere informatieDeel A. Breuken vergelijken
Deel A Breuken vergelijken - - 0 Breuken en brokken (). Kleur van elke figuur deel. Doe het zo nauwkeurig mogelijk.. Kleur van elke figuur deel. Doe het telkens anders.. Kleur steeds het deel dat is aangegeven.
Nadere informatieTweede college complexiteit. 12 februari Wiskundige achtergrond
College 2 Tweede college complexiteit 12 februari 2019 Wiskundige achtergrond 1 Agenda vanmiddag Floor, Ceiling Rekenregels logaritmen Tellen Formele definitie O, Ω, Θ met voorbeelden Stellingen over faculteiten
Nadere informatieWISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002
- 0 - WISKUNDE B -DAG 2002 1+ 1 = 2 maar en hoe nu verder? 29 november 2002 De Wiskunde B-dag wordt gesponsord door Texas Instruments - 1 - Inleiding Snel machtverheffen Stel je voor dat je 7 25 moet uitrekenen.
Nadere informatieZevende college algoritmiek. 23/24 maart Verdeel en Heers
Zevende college algoritmiek 23/24 maart 2017 Verdeel en Heers 1 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht 0 1 2 3 0 1 2 3 4 1 2 3 4 5 2 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht
Nadere informatie5. Geavanceerde formules
151 5. Geavanceerde formules Excel is in eerste instantie een programma om berekeningen in te maken. Het doet dat uiterst efficiënt met, afhankelijk van de geheugencapaciteit van de computer, een enorm
Nadere informatieOpgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen.
Uitwerking Puzzel 92-7 Allemaal gelijk? Wobien Doyer Lieke de Rooij Er zijn veel puzzels over het opsporen van één valse munt tussen een aantal goede munten met hulp van een balans. Bij deze puzzel is
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 11 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Heaps en heapsort Heap 1 2 3 4 5 6 7 8 9 10 16 14 10 8 7 9 3 2 4 1 16 14 10 8 7 9 3
Nadere informatie1) Bereken met behulp van bovenstaande gegevens de waarde van a in één decimaal nauwkeurig.
Bonustoets hv wiskunde A hoofdstuk 3 De huisarts. (3+5+5) Huisartsen nemen een centrale positie in binnen de gezondheidszorg. De huisarts is namelijk het eerste aanspreekpunt voor mensen met vragen over
Nadere informatieTaak 2.1.3 Versleutelen en dan weer terug... 1
Taak 2.1.3 Versleutelen en dan weer terug Inhoud Taak 2.1.3 Versleutelen en dan weer terug... 1 Inhoud... 1 Inleiding... 2 Encryptie en Decryptie... 3 Symmetrisch... 3 Asymmetrisch... 3 Waarom Encryptie
Nadere informatieVariabelen en statements in ActionScript
Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer
Nadere informatieExamen HAVO. Wiskunde A1,2
Wiskunde A1,2 Examen HAVO Hoger Algemeen Voortgezet Onderwijs Tijdvak 1 Donderdag 25 mei 13.30 16.30 uur 20 00 Dit examen bestaat uit 19 vragen. Voor elk vraagnummer is aangegeven hoeveel punten met een
Nadere informatieDatastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46
Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,
Nadere informatieDisclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen
Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen dat er zowel typografische als inhoudelijke onvolkomenheden
Nadere informatie1 Complexiteit. of benadering en snel
1 Complexiteit Het college van vandaag gaat over complexiteit van algoritmes. In het boek hoort hier hoofdstuk 8.1-8.5 bij. Bij complexiteitstheorie is de belangrijkste kernvraag: Hoe goed is een algoritme?
Nadere informatieZevende college algoritmiek. 24 maart Verdeel en Heers
Zevende college algoritmiek 24 maart 2016 Verdeel en Heers 1 Verdeel en heers 1 Divide and Conquer 1. Verdeel een instantie van het probleem in twee (of meer) kleinere instanties 2. Los de kleinere instanties
Nadere informatieCryptografische beveiliging op het Internet
Cryptografische beveiliging op het Internet Benne de Weger b.m.m.d.weger@tue.nl augustus 2018 hybride cryptografie 1 klare symmetrische versleuteling geheimschrift versturen geheimschrift symmetrische
Nadere informatieExamen Algoritmen en Datastructuren III
Derde bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. Stellingen
Nadere informatieConcept. Inleiding. Advies. Agendapunt: 04 Bijlagen: - College Standaardisatie
Forum Standaardisatie Wilhelmina v Pruisenweg 104 2595 AN Den Haag Postbus 84011 2508 AA Den Haag www.forumstandaardisatie.nl COLLEGE STANDAARDISATIE Concept CS07-05-04I Agendapunt: 04 Bijlagen: - Aan:
Nadere informatieDerde college complexiteit. 7 februari Zoeken
College 3 Derde college complexiteit 7 februari 2017 Recurrente Betrekkingen Zoeken 1 Recurrente betrekkingen -1- Rij van Fibonacci: 0,1,1,2,3,5,8,13,21,... Vanaf het derde element: som van de voorgaande
Nadere informatie5 Afronden en afkappen
WIS5 1 5 Afronden en afkappen 5.1 Floor en ceiling Floor en ceiling Conversiefuncties van reële getallen naar gehele getallen. x = het grootste gehele getal et x x = het kleinste gehele getal et x Uitspraak:
Nadere informatieExamen VWO. wiskunde A1,2 Compex. Vragen 11 tot en met 17. In dit deel van het examen staan de vragen waarbij de computer wel wordt gebruikt.
Examen VWO 2008 tijdvak 1 maandag 19 mei totale examentijd 3 uur wiskunde A1,2 Compex Vragen 11 tot en met 17 In dit deel van het examen staan de vragen waarbij de computer wel wordt gebruikt. Bij dit
Nadere informatieGaap, ja, nog een keer. In één variabele hebben we deze formule nu al een paar keer gezien:
Van de opgaven met een letter en dus zonder nummer staat het antwoord achterin. De vragen met een nummer behoren tot het huiswerk. Spieken achterin helpt je niets in het beter snappen... 1 Stelling van
Nadere informatieInformatica: C# WPO 9
Informatica: C# WPO 9 1. Inhoud Functies (functies met return-waarde) 2. Oefeningen Demo 1: Som Demo 2: Min en max of array Demo 3: Retourneer array van randomwaarden A: Absolute waarde A: Afstand A: Aantrekkingskracht
Nadere informatieTijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid.
Complexiteit of efficiëntie van algoritmen Hoe meet je deze? Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid. Een betere maatstaf is het aantal berekeningsstappen
Nadere informatieSecurity. Eerste tentamen
Security Eerste tentamen Het tentamen normale rekenmachine mag mee. Gastpresentaties Weetvragen Lees je eigen aantekeningen goed door. Malware Weetvragen Introductiecollege Weetvragen! Kijk naar de lijst
Nadere informatieJe moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig.
6 Totaalbeeld Samenvatten Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig. Begrippenlijst: 21: complex getal reëel deel
Nadere informatieCombinatoriek groep 1 & 2: Recursie
Combinatoriek groep 1 & : Recursie Trainingsweek juni 008 Inleiding Bij een recursieve definitie van een rij wordt elke volgende term berekend uit de vorige. Een voorbeeld van zo n recursieve definitie
Nadere informatieDatastructuren Uitwerking jan
Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties
Nadere informatieEXAMEN INFORMATIETHEORIE I (5JJ40 / 5K020) 25 maart 2004, 9u00 12u00-1 -
EXAMEN INFORMATIETHEORIE I (5JJ40 / 5K020) 25 maart 2004, 9u00 12u00-1 - Zet de antwoorden in de daarvoor bestemde vakjes en lever alleen deze bladen in! LET OP: Dit werk bevat zowel de opgaven voor het
Nadere informatieUitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.
Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatie8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde
8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde Optellen: 5a + 3b + 2a + 6b = 7a + 9b 1) Alleen gelijksoortige
Nadere informatie4. Exponentiële vergelijkingen
4. Exponentiële vergelijkingen De gelijkheid 10 3 = 1000 bevat drie getallen: 10, 3 en 1000. Als we van die drie getallen er één niet weten moeten we hem kunnen berekenen. We kunnen dus drie gevallen onderscheiden:
Nadere informatieExamencursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO kan niet korter
Voorbereidende opgaven VWO Examencursus wiskunde A Tips: Maak de voorbereidende opgaven voorin in een van de A4-schriften die je gaat gebruiken tijdens de cursus. Als een opdracht niet lukt, werk hem dan
Nadere informatieProfielwerkstuk Informatica en Wiskunde Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging?
Profielwerkstuk Informatica en Wiskunde Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging? Door Nahom Tsehaie en Jun Feng Begeleiders: David Lans en Albert
Nadere informatieRekenen: Getallen groep 5 en hoger. Rekenen en schattingen ontdekken. Algebra groep 5 en hoger. Patronen en relaties ontdekken.
Activiteit 4 Kaarten truc Fout opsporen & herstellen Samenvatting Wanneer data worden opgeslagen op een harde schijf of worden verzonden van de ene computer naar de andere, nemen we aan dat de data niet
Nadere informatieOPDRACHTKAART. Thema: Multimedia/IT. Audio 4. Digitaliseren MM-02-10-01
OPDRACHTKAART MM-02-10-01 Digitaliseren Voorkennis: Je hebt Multimedia-opdrachten 1 tot en met 3 en audio-opdracht 1 t/m 3 (MM-02-03 t/m MM-02-09) afgerond. Intro: Geluid dat wij horen is een analoog signaal.
Nadere informatieVoorbeeld casus mondeling college-examen
Voorbeeld casus mondeling college-examen Examenvak en niveau informatica havo Naam kandidaat Examennummer Examencommissie Datum Voorbereidingstijd Titel voorbereidingsopdracht 20 minuten van analoog naar
Nadere informatieProject 4 - Centrale Bank. Rick van Vonderen TI1C
Project 4 - Centrale Bank Rick van Vonderen 0945444 TI1C 23 mei 2018 Inhoudsopgave 1 Inleiding 2 2 Beheren 3 2.1 Git...................................................... 3 2.2 Risicolog...................................................
Nadere informatieProgrammeermethoden. Recursie. week 11: november kosterswa/pm/
Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,
Nadere informatieAlgoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens
Algoritmes in ons dagelijks leven Leve de Wiskunde! 7 April 2017 Jacobien Carstens Wat is een algoritme? Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd
Nadere informatiePublic Key Cryptography. Wieb Bosma
Public Key Cryptography de wiskunde van het perfecte kopje koffie Wieb Bosma Radboud Universiteit Nijmegen Bachelordag 2 april 2011 Nijmegen, 6 november 2010 0 Nijmegen, 6 november 2010 1 cryptografie
Nadere informatieALGORITMIEK. Keuzemodule Wiskunde B/D. Mark de Berg TU Eindhoven
ALGORITMIEK Keuzemodule Wiskunde B/D Mark de Berg TU Eindhoven Voorwoord Algoritmiek is het gebied binnen de informatica dat zich bezig houdt met het ontwerpen en analyseren van algoritmen en datastructuren.
Nadere informatieZevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort
College 7 Zevende college complexiteit 17 maart 2008 Ondergrens sorteren, Quicksort 1 Sorteren We bekijken sorteeralgoritmen gebaseerd op het doen van vergelijkingen van de vorm A[i] < A[j]. Aannames:
Nadere informatie1 Binaire plaatjes en Japanse puzzels
Samenvatting Deze samenvatting is voor iedereen die graag wil weten waar mijn proefschrift over gaat, maar de wiskundige notatie in de andere hoofdstukken wat te veel van het goede vindt. Ga er even voor
Nadere informatieopgaven formele structuren deterministische eindige automaten
opgaven formele structuren deterministische eindige automaten Opgave. De taal L over het alfabet {a, b} bestaat uit alle strings die beginnen met aa en eindigen met ab. Geef een reguliere expressie voor
Nadere informatieOnafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms
Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, juni 2017
Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.
Nadere informatie5,7. Samenvatting door een scholier 903 woorden 28 september keer beoordeeld. Informatica. Samenvatting Informatica Hoofdstuk 2
Samenvatting door een scholier 903 woorden 28 september 2006 5,7 24 keer beoordeeld Vak Informatica Samenvatting Informatica Hoofdstuk 2 2.1 Teken en betekenis Uit welke 2 delen bestaat informatie? Betekenis
Nadere informatieUitwerkingen Sum of Us
Instant Insanity Uitwerkingen Sum of Us Opgave A: - Opgave B: Voor elk van de vier kubussen kun je een graaf maken die correspondeert met de desbetreffende kubus. Elk van deze grafen bevat drie lijnen.
Nadere informatie1 Rekenen in eindige precisie
Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen
Nadere informatieDe Hamming-code. de wiskunde van het fouten verbeteren in digitale gegevens. Benne de Weger Faculteit Wiskunde en Informatica, TU/e 1/21
De Hamming-code de wiskunde van het fouten verbeteren in digitale gegevens Benne de Weger Faculteit Wiskunde en Informatica, TU/e 1/21 Waar gaat coderen over? Digitale opslag van gegevens gebeurt in bits
Nadere informatieRandom-Getallen. Tristan Demont en Mark van der Boor en
Random-Getallen Tristan Demont en Mark van der Boor 0768931 en 0772942 18 januari 2013 Begeleider: Relinde Jurrius Opdrachtgever: Berry Schoenmakers Modelleren B, 2WH02 Technische Universiteit Eindhoven
Nadere informatie