Datastructuren en Algoritmen voor CKI

Vergelijkbare documenten
Datastructuren; (Zoek)bomen

Elementary Data Structures 3

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

Java Programma structuur

Bomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen

Tree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen

Datastructuren en algoritmen voor CKI

Stacks and queues. Hoofdstuk 6

Algoritmiek. 15 februari Grafen en bomen

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

Programmeren met Grafische Objecten. Inleiding Programmeren II Hoorcollege 1 prof. dr. van Noord en dr. L.M. Bosveld-de Smet

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Hoofdstuk 2. Week 4: Datastructuren. 2.1 Leesopdracht. 2.2 Bomen. 2.3 Definitie

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46

DATASTRUCTUREN VOOR GESORTEERDE DATA

Datastructuren: stapels, rijen en binaire bomen

Tweede college algoritmiek. 12 februari Grafen en bomen

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI

en DMS koppelvlak Utrecht, 14 april 2011

Tentamen Programmeren in C (EE1400)

Vierde college complexiteit. 14 februari Beslissingsbomen

EE1400: Programmeren in C BSc. EE, 1e jaar, , 4e college

Tentamen Programmeren in C (EE1400)

Preschool Kindergarten

Zevende college algoritmiek. 1 april Verdeel en Heers

MyDHL+ Van Non-Corporate naar Corporate

Modelleren en Programmeren

Een gelinkte lijst in C#

definities recursieve datastructuren college 13 plaatjes soorten Graph = ( V, E ) V vertices, nodes, objecten, knopen, punten

Data Mining: Classificatie

Tweede Toets Datastructuren 29 juni 2016, , Educ-Γ.

Divide & Conquer: Verdeel en Heers vervolg. Algoritmiek

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Grafen en netwerken I Datastructuren en doorzoeken. Algoritmiek

Introductie in flowcharts

Datastructuren en algoritmen voor CKI

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

Doorzoeken van grafen. Algoritmiek

Zevende college algoritmiek. 24 maart Verdeel en Heers

Eye Feature Detection Towards Automatic Strabismus Screening

9 daagse Mindful-leSs 3 stappen plan training

Datastructuren: stapels, rijen en binaire bomen

ALGORITMIEK: answers exercise class 7

Datamodelleren en databases 2011

Algoritmiek. 2 februari Introductie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

Online request form for requesting articles, books and / or theses: Erasmus MC - employees

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

Algoritmen, Datastructuren en Complexiteit (214020/5)

Discrete Structuren. Piter Dykstra Sietse Achterop Opleidingsinstituut Informatica en Cognitie

Bescherming van (software) IP bij uitbesteding van productie

Datastructuren en Algoritmen

Modulewijzer Tirdat01

Addendum bij hoofdstuk 5 Generieke implementatie van de zoekalgoritmen

Inleiding Programmeren 2

Installatie van Windows 10 op laptops. Windows 10 installation on laptops

Modelleren en Programmeren

Inleiding. Het probleem 二 零 十 五 年 三 月 二 十 四 日. \begin{programma} Inleiding Revolutie Functioneel Programmeren Java 8

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

Verschil in Perceptie over Opvoeding tussen Ouders en Adolescenten en Alcoholgebruik van Adolescenten

Hoofdstuk 3. Week 5: Sorteren. 3.1 Inleiding

Effecten van contactgericht spelen en leren op de ouder-kindrelatie bij autisme

Zelftest Inleiding Programmeren

Data Handling Ron van Lammeren - Wageningen UR

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

Uitwerking tentamen Algoritmiek 9 juli :00 13:00

Handleiding Zuludesk Parent

Functioneel Ontwerp / Wireframes:

Classification of triangles

Transcriptie:

Ω /texmf/tex/latex/uubeamer.sty-h@@k 00 /texmf/tex/latex/uubeamer.sty Datastructuren en Algoritmen voor CKI Vincent van Oostrom Clemens Grabmayer Afdeling Wijsbegeerte Hoorcollege 5 16 februari 2009

Waar in het boek zijn we? 1. Java Programming Basis 2. Object Oriented Design 3. Arrays, Linked Lists, and Recursion 4. Analysis Tools 5. Stacks and Queues 6. Lists and Iterators 7. Trees 8. Priority Queues 9. Maps and Dictionaries 10. Search Trees 11. Sorting, Sets, and Selection 12. Text Processing 13. Graphs 14. Memory

Webpagina: beveiligde pagina s Beveiligde pagina s http://www.phil.uu.nl/datastructuren/08-09/beveiligd/... voor: slides uit het boek van Goodrich/Tamassia uitslagen, en individuele opmerkingen van inleveropdrachten Inloggegevens: user name: student password:......

Stamboom (I)

Stamboom (II)

Formal Tree Definition [Goodrich/Tamassia: Data Structures and Algorithms in Java, p. 267] Definition A tree is a set T of nodes storing elements such that the nodes have a parent-child relationship that satisfies: If T is nonempty, it has a special node, called the root of T, that has no parent Each node v of T different from the root has a unique parent node w; every node with parent w is a child of w.

Formal Tree Definition (corrected) [Goodrich/Tamassia: Data Structures and Algorithms in Java, p. 267] Definition A tree is a set T of nodes storing elements such that the nodes have a parent-child relationship that satisfies: If T is nonempty, it has a special node, called the root of T, that has no parent and that is reachable from every node of T. Each node v of T different from the root has a unique parent node w; every node with parent w is a child of w.

Diepte van knopen in bomen Definitie Zij v een knoop in een boom T. De diepte (depth) van v in T is het aantal voorouders van v behalve v zelf. De diepte van een knoop v kan als volgt recursief worden gedefiniëerd: Als v de wortel is, dan heeft v diepte 0. Anders is de diepte van v gelijk aan 1 plus de diepte van de ouder van v.

Hoogte van (knopen in) bomen Definitie Zij v een knoop in een boom T. De hoogte (height) van v in T is als volgt recursief gedefiniëerd: Als v een externe knoop is, dan heeft v hoogte 0. Anders is de hoogte van v in T gelijk aan 1 plus de maximale hoogte van de kind van v in T. De hoogte (height) van T is de hoogte van de wortel van T. Propositie Laat T een niet-lege boom, en v een knoop in T. De hoogte van v is de de maximale diepte van een externe knoop in de sub-boom van v in T. De hoogte van een niet-lege boom T is de maximale diepte van een externe knoop van T.

Binary Tree ADT left(v): Return the left child of v; an error condition occurs if v has no left child. right(v): Return the right child of v; an error condition occurs if v has no right child. hasleft(v): Test whether v has a left child. hasright(v): Test whether v has a right child.

Verhouding int./ext. knopen in volle binaire bomen Een binaire boom is vol ( proper, full binary tree ) als elke knoop of twee of geen kinderen heeft. Propositie In een niet-lege volle binaire boom T met n E externe en n I interne knopen geldt: n E = n I + 1 Bewijs. Twee mogelijkheden: 1. T zien als representatie van een knockout-toernooi: extern knoop = team; intern knoop = wedstrijd; aan het einde van ieder wedstrijd valt een team af; een team (dat van de winnaars) valt bij geen wedstrijd af.

Verhouding int./ext. knopen in volle binaire bomen Een binaire boom is vol ( proper, full binary tree ) als elke knoop of twee of geen kinderen heeft. Propositie In een niet-lege volle binaire boom T met n E externe en n I interne knopen geldt: n E = n I + 1 Bewijs. Twee mogelijkheden: 1. T zien als representatie van een knockout-toernooi: extern knoop = team; intern knoop = wedstrijd; aan het einde van ieder wedstrijd valt een team af; een team (dat van de winnaars) valt bij geen wedstrijd af. 2. In stapjes weghalen van elk één externe en één interne knoop, na elk stap een volle binaire boom overhouden. Aan het einde blijft éen externe knoop over.

Linked structure implementatie van algemene bomen Operation Time size, isempty O(1) iterator, positions O(n) replace O(1) root, parent O(1) children(v) O(c v ) isinternal, isexternal, isroot O(1) Runtijden van een linked structure implementatie van een boom met n knopen. Met c v bedoelen we het aantal kinderen van de knoop c v.

Linked structure implementatie van binaire bomen Operation size, isempty iterator, positions replace root, parent, children, left, right, sibling hasleft, hasright, isinternal, isexternal, isroot insertleft, insertright, attach, remove Time O(1) O(n) O(1) O(1) O(1) O(1) Runtijden van een linked structure implementatie van een binaire boom met n knopen.

Array-List implementatie van binaire bomen Operation size, isempty iterator, positions replace root, parent, children, left, right hasleft, hasright, isinternal, isroot Time O(1) O(n) O(1) O(1) O(1) Runtijden van een implementation van binaire bomen met een array-list op een binaire boom T met n knopen.

Opgaven voor het werkcollege testen van basiskennis (zelfstudie): trees: R-7.1, R-7.2, R-7.14, R-7.25, C-7.11 priority queues: R-8.2, R-8.5, R-8.6. werkcollegeopgaven: trees: R-7.3, R-7.4, R-7.6, R-7.10, R-7.15, R-7.21, C-7.25. priority queues: C-8.4, C-8.6.

Woensdag 1. Java Programming Basis 2. Object Oriented Design 3. Arrays, Linked Lists, and Recursion 4. Analysis Tools 5. Stacks and Queues 6. Lists and Iterators 7. Trees 8. Priority Queues 9. Maps and Dictionaries (Skip Lists) 10. Search Trees 11. Sorting, Sets, and Selection 12. Text Processing 13. Graphs 14. Memory

Bedankt voor de aandacht!