Basiscursus Informatica, 98-99 College 7, H 7 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 7, Data Structures Brookshear H7 Richard.

Slides:



Advertisements
Verwante presentaties
De gemiddelde leerling
Advertisements

SINT LUKAS HOGESCHOOL BRUSSEL
Zelf objecten maken in VBA Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009.
ZIEHIER 36 REDENEN WAAROM BIER
Personalisatie van de Archis website Naam: Sing Hsu Student nr: Datum: 24 Juni 2004.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
ADOBE PRESENTER Willem vanden Berg Dienst Onderwijsondersteuning en –ontwikkeling KaHo Sint-Lieven 1.
Algoritmen en Datastructuren (ALDAT)
Basiscursus Informatica SWI Theoriegedeelte Overzicht en H0 Richard Benjamins.
Ronde (Sport & Spel) Quiz Night !
Copyright © 2008 Tele Atlas. All rights reserved. Zet uw Business Data op de kaart: Locaties in eTOM ®
Programmeren in Java met BlueJ
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Gelinkte lijsten Finite State.
prNBN D addendum 1 Deel 2: PLT
© GfK 2012 | Title of presentation | DD. Month
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
Passie - Verrijzenis Arcabas
1 Datastructuren Lijstjes (Stacks & Queues) Onderwerp 7.
Datastructuren Zoekbomen
1 Datastructuren Zoekbomen II Invoegen en weglaten.
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
Inleiding Informatica, College 7, H 7, sheet nr. 117 October :29 Basiscursus Informatica 98/991 Inleiding Informatica College 8, Brookshear.
1Ben Bruidegom A Harvard Machine Recapitulatie Calculator Calculator  Calculator met “loopjes” Calculator met “loopjes”  Processor.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
Inleidend probleem Data structuur (hiërarchie van classes)
OHT 8.1 De Pelsmacker,Geuens & Van den Bergh, Marketingcommunicatie, vierde editie © Pearson Education 2011 Mediaplanning In dit hoofdstuk zul je het volgende.
1 Datastructuren Heapsort (2e deel) College 5. 2 Vandaag  Heaps en Heapsort  (eind)  Nog sneller sorteren:  Ondergrenzen  Linair sorteren.
Hoorcollege 8 Game object structuren. Arrays in games Grid-gebaseerd speelveld (zoals Tetris) Lijst van spelers Lijst van inventory items Lijst van alle.
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Werken aan Intergenerationele Samenwerking en Expertise.
Breuken-Vereenvoudigen
Geometrie en topologie Rob Kromwijk, 26 juli 2012.
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
ribwis1 Toegepaste wiskunde, ribPWI Lesweek 01
ribWBK11t Toegepaste wiskunde Lesweek 02
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
Inleiding Informatica, College 6, H 6 – sheet nr. 117 October :27 Basiscursus Informatica 98/991 Inleiding Informatica College 7, Brookshear.
Basiscursus Informatica, College 8, H 8 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 8, File Structures Brookshear H8 Richard.
Basiscursus Informatica, College 5, H 5 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 5, Programming Languages Brookshear H5 Richard.
Basiscursus Informatica, College 6, H 6 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 6, Software Engineering Brookshear H6 Bob.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
1 Controleplan 2005 Raadgevend comité Hotel President – donderdag 21 april 2005.
ZijActief Koningslust 10 jaar Truusje Trap
OHT 9.1 De Pelsmacker,Geuens & Van den Bergh, Marketingcommunicatie, vierde editie © Pearson Education 2011 Reclameonderzoek In dit hoofdstuk zul je het.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
2 januari 2009Nieuwjaarsreceptie "Meule wal straete" 1 Nieuwjaarsreceptie 2 januari 2009 Eerste bijeenkomst van de bewoners van de “Meule wal straete”
TOPIC O: Pointers | pag. 1 Pointer = adres in het geheugen, is zelf geen geheugen! Expliciet geheugen aanvragen vóór gebruik.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Fractale en Wavelet Beeldcompressie
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 9(2): Virtual.
Basiscursus Informatica, College 9, H 9 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 9, Database Structures Brookshear H9 Richard.
De financiële functie: Integrale bedrijfsanalyse©
aangename ont - moeting
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 7 onze.
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Algoritmiek Class Hierarchies, Inheritance. Hoorcollege 12 - Ma. 20 nov L.M. Bosveld-de Smet.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
ZijActief Koningslust
1 XSLT processing & control Datamodellering 2006.
Software Development fundamentals
Transcript van de presentatie:

Basiscursus Informatica, College 7, H 7 1 Basiscursus Informatica 98/991 Basiscursus Informatica College 7, Data Structures Brookshear H7 Richard Benjamins

Basiscursus Informatica, College 7, H 7 2 Basiscursus Informatica 98/992 Overzicht college 7 n Arrays n Lijsten n Stacks n Queues n Bomen (trees) n Customized data types n Object-georienteerd programmeren n Programmeur denkt in conceptuele data structuren n Implementatie in centraal geheugen

Basiscursus Informatica, College 7, H 7 3 Basiscursus Informatica 98/993 Arrays n Een-dimensionale arrays ä studenten[4] ä echte geheugenadres? –eerste cel + (4-1) –13 + (4-1) = 16 n Multi-dimensionale arrays ä Verschillende rijen afbeelden op een aaneengesloten rij geheugencellen –row major order –column major order

Basiscursus Informatica, College 7, H 7 4 Basiscursus Informatica 98/994 Row major order Conceptueel Werkelijk rij1 rij2 rij3 rij4 rij1 rij2 rij3 rij4 X: 3de rij, 4de colom X X Algemeen: geheugenadres van bepaalde entry in array (C x (I - 1)) + (J - 1)C = #colommen, Ide rij, Jde colom (5 x (3 -1)) + (4 -1) = 13address polynomial

Basiscursus Informatica, College 7, H 7 5 Basiscursus Informatica 98/995 Overzicht college 7 n Arrays n Lijsten n Stacks n Queues n Bomen (trees) n Customized data types n Object-georienteerd programmeren

Basiscursus Informatica, College 7, H 7 6 Basiscursus Informatica 98/996 Lijsten n “Contiguous lists” ä blok van aaneengesloten geheugencellen (array) ä problemen –element uit midden lijst verwijderen –toevoegen niet aan begin of eind –verplaatsen van veel elementen n “Linked lists” ä data is verspreid over verschillende blokken cellen ä maakt gebruik van pointers

Basiscursus Informatica, College 7, H 7 7 Basiscursus Informatica 98/997 Pointers n Geheugencel bevat het adres van andere geheugencel (ipv data) ä Programmateller is ook een pointer n Daarom kan data verspreid worden door geheugen n bv 8 cellen voor data en 1 voor pointer ä begin van de lijst: head pointer ä eind van de lijst: NIL pointer

Basiscursus Informatica, College 7, H 7 8 Basiscursus Informatica 98/998 Linked list head pointer data NIL pointer

Basiscursus Informatica, College 7, H 7 9 Basiscursus Informatica 98/999 Element verwijderen head pointer data NIL pointer old new pointer verwijderde element Garbage collection: bijhouden en opruimen van verwijderde elementen

Basiscursus Informatica, College 7, H 7 10 Basiscursus Informatica 98/9910 Element toevoegen head pointer data NIL pointer old data pointer new nieuw element

Basiscursus Informatica, College 7, H 7 11 Basiscursus Informatica 98/9911 Lijsten versus arrays n Probleem: als je een element wilt toevoegen aan array en het is vol n Bij een lijst hoef je van te voren niet de lengte te bepalen n Als je een element uit een array verwijdert dan blijft er een gat over. Om dat te vullen moeten alle elementen een plaats opschuiven

Basiscursus Informatica, College 7, H 7 12 Basiscursus Informatica 98/9912 Operaties op lijst n Meeste programmeertalen komen met ingebouwde procedures voor standaard operaties op lijst ä insert(“Beys”, “BC-Informatica-98.99”) ä printlist(“BC-Informatica-98.99)

Basiscursus Informatica, College 7, H 7 13 Basiscursus Informatica 98/9913 Overzicht college 7 n Arrays n Lijsten n Stacks n Queues n Bomen (trees) n Customized data types n Object-georienteerd programmeren

Basiscursus Informatica, College 7, H 7 14 Basiscursus Informatica 98/9914 Stacks n Een ‘contiguous’ lijst waar operaties alleen aan het eind van de lijst worden uitgevoerd ä toevoegen: push operatie ä verwijderen: pop operatie n Last-in, first-out (LIFO) n Vergelijk stapel boeken n Behoud efficientie van contiguous list en reduceer nadelen o o o o o

Basiscursus Informatica, College 7, H 7 15 Basiscursus Informatica 98/9915 Toepassing stack n Recursief aanroepen van processen ä nieuwe proces “gepushed” op stack, en wordt actief ä als proces klaar, “poped” van stack en gaat door met oude proces n Lijst in omgekeerde volgorde printen ä loop lijst af en push elementen op stack ä als aan eind van lijst, pop elementen van stack en print ze

Basiscursus Informatica, College 7, H 7 16 Basiscursus Informatica 98/9916 Implementatie stack n Blok aaneengesloten geheugencellen n Een eind wordt de stack base n Ander eind (variabel) is de stack pointer stack base XXXXXX stack pointer gereserveerde groeiruimte

Basiscursus Informatica, College 7, H 7 17 Basiscursus Informatica 98/9917 Overzicht college 7 n Arrays n Lijsten n Stacks n Queues n Bomen (trees) n Customized data types n Object-georienteerd programmeren

Basiscursus Informatica, College 7, H 7 18 Basiscursus Informatica 98/9918 Queues / Rijen n Operaties aan begin en aan eind van lijst n First-in, first-out (FIFO) n head en tail van een rij

Basiscursus Informatica, College 7, H 7 19 Basiscursus Informatica 98/9919 Queue implementatie head pointer tail poiter head tail head tail head tail A A BB

Basiscursus Informatica, College 7, H 7 20 Basiscursus Informatica 98/9920 “Lopende” rij head pointer tail poiter head pointer tail poiter A B C C D E F Circulair laten lopen in vast geheugenblok

Basiscursus Informatica, College 7, H 7 21 Basiscursus Informatica 98/9921 Overzicht college 7 n Arrays n Lijsten n Stacks n Queues n Bomen (trees) n Customized data types n Object-georienteerd programmeren

Basiscursus Informatica, College 7, H 7 22 Basiscursus Informatica 98/9922 Bomen n Knopen (nodes) ä root note ä leaf notes (terminal) n Arcs (verbindingen tussen knopen) n Sub-bomen n Parent nodes, child nodes, sibling nodes n Binaire bomen

Basiscursus Informatica, College 7, H 7 23 Basiscursus Informatica 98/9923 Implementatie bomen n “Linked” bomen ä data cel ä left child pointer ä rright child pointer ä root pointer ä NIL cell containing data left child pointer right child pointer

Basiscursus Informatica, College 7, H 7 24 Basiscursus Informatica 98/9924 Binaire boom met pointers root pointer NIL A B C F D E D E A B C F

Basiscursus Informatica, College 7, H 7 25 Basiscursus Informatica 98/9925 Boom in blok cellen D E A B C F Linker kind in cel 2 n Rechter kind in cel 2 n + 1 gebalanceerde boom ABCDEF ABCDE ongebalanceerde boom A B C D E

Basiscursus Informatica, College 7, H 7 26 Basiscursus Informatica 98/9926 Lijst als binaire boom n Binair zoeken ä middelste element is root ä middelste van linker helft is linker kind ä midddelste van rechter helft is rechter kind n A, B, C, D, E, F, G, H, I, J, K, M, L G D K B A C IM HJ L E F

Basiscursus Informatica, College 7, H 7 27 Basiscursus Informatica 98/9927 Overzicht college 7 n Arrays n Lijsten n Stacks n Queues n Bomen (trees) n Customized data types n Object-georienteerd programmeren

Basiscursus Informatica, College 7, H 7 28 Basiscursus Informatica 98/9928 Customized data types n User-defined types ä primitieve data types en data structuren kunnen als bouwstenen dienen voor complexe data typen ä definieert nieuw type dat vanaf dan gebruikt kan worden typedef struct {char Name[8]; int Age; float Skillrating; } EmployeeType; EmployeeType Manager, Buyer NameAgeSkillrating

Basiscursus Informatica, College 7, H 7 29 Basiscursus Informatica 98/9929 Abstract data types n Als customized data type, maar plus operaties ä zowel type als toegestane operaties n package StackPackage type StackOfIntegers record StackEntries: array[1..25] of integer; StackPointer: integer; end record; procedure push(Value: in integer;Stack: in out StackOfIntegers); procedure pop(Value: out integer; Stack: in out StackOfIntegers); end StackPackage; MyStack: StackOfIntegers push(106, MyStack) pop(OldValue, MyStack)

Basiscursus Informatica, College 7, H 7 30 Basiscursus Informatica 98/9930 Encapsulation n Operaties op data structuren kunnen alleen plaatsvinden via gedefinieerde procedures (methoden) ä Public procedures (versus private) n Helder programmeren en onderhoud ä geen shortcuts n Object-georienteerd

Basiscursus Informatica, College 7, H 7 31 Basiscursus Informatica 98/9931 Public procedures n package StackPackage is StackOfIntegers procedure push(Value: in integer;Stack: in out StackOfIntegers); procedure pop(Value: out integer; Stack: in out StackOfIntegers); private type StackOfIntegers record StackEntries: array[1..25] of integer; StackPointer: integer; end record; end StackPackage; n Niet direct naar StackEntries[3] verwijzen n Moet via 2 maal “pop” van element

Basiscursus Informatica, College 7, H 7 32 Basiscursus Informatica 98/9932 Overzicht college 7 n Arrays n Lijsten n Stacks n Queues n Bomen (trees) n Customized data types n Object-georienteerd programmeren

Basiscursus Informatica, College 7, H 7 33 Basiscursus Informatica 98/9933 Object-Georienteerd n In plaats van procedures die data structuren manipuleren ä Encapsuleer procedure in de data tot objecten n Objecten manipuleren zichzelf: actieve objecten n Objecten geassocieerd met methoden

Basiscursus Informatica, College 7, H 7 34 Basiscursus Informatica 98/9934 Imperatieve benadering Nation ANation BNation CNation DNation E Controlling algorithm Simulatie van globale economie

Basiscursus Informatica, College 7, H 7 35 Basiscursus Informatica 98/9935 Object-georienteerd Nation ANation BNation CNation DNation E

Basiscursus Informatica, College 7, H 7 36 Basiscursus Informatica 98/9936 Creeren van objecten n Class ä patroon/template voor creeren van objecten n Inheritance ä klassen hierarchisch structureren ä attributen worden overgeerfd n Polymorphism ä bericht is polymorf: interpretatie hangt af van type object ä vergelijk overloading