De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.

Verwante presentaties


Presentatie over: "Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3."— Transcript van de presentatie:

1 Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3

2 Hogeschool HZ Zeeland Onderwerpen Referenties Linked Lists Binary (search) trees Iterators

3 Hogeschool HZ Zeeland Referenties Opdacht vorige les… Hoe is het verschil in uitkomst te verklaren?

4 Hogeschool HZ Zeeland Geheugenmap bij intArr Elke geheugencel van intArr bevat de waarde van elke integer die in de array is opgeslagen ‘a’ bevat een kopie van de waarde van intArr[2] Als ‘a’ wijzigt, wijzigt intArr[2] dus niet mee int a Geheugen intArr[0] intArr[1] intArr[2] intArr[3]

5 Hogeschool HZ Zeeland Geheugenmap bij personArr Elke geheugencel van personArr bevat geen waarden, maar referenties naar stukjes geheugen die de data van die person bevatten ‘a’ bevat nu ook een kopie van de waarde van intArr[2]. Deze waarde is echter een referentie Als je gegevens van Person ‘a’ wijzigt, wijzigt intArr[2] nu dus wel mee. int a Geheugen personArr[0] personArr[1] personArr[2] personArr[3]

6 Hogeschool HZ Zeeland Referenties Primitieve datatypes (zoals int, double, float en long) gebruiken nooit referenties Objecten gebruiken altijd referenties – Ze moeten worden gecreëerd door new te gebruiken ( Person p = new Person(“Daan”);) – Bij toekenningen (bv. Person q = p;) wordt dus een kopie gemaakt van de referentie, zowel p als q wijzen dan naar hetzelfde object Referenties is het mechanisme achter datastructuren als Linked lists en Trees

7 Hogeschool HZ Zeeland Onderwerpen Referenties Linked Lists Binary (search) trees Iterators

8 Hogeschool HZ Zeeland Linked List Demo Applet

9 Hogeschool HZ Zeeland Linked Lists: in code Opbouw code voor linked list: – Class ‘Link’ – Class ‘LinkedList’

10 Hogeschool HZ Zeeland De ‘Link’-class (voorbeeld) class Link { public int iData; // data item public double dData; // data item public Link next; // next link in list }

11 Hogeschool HZ Zeeland Opbouw van de lijst Lijst bestaat dus uit een reeks links Elke link verwijst weer naar de volgende link De laatste link kan nergens naar verwijzen, en bevat daarom dus ‘null’ Hoe ziet dan de LinkedList-class eruit?

12 Hogeschool HZ Zeeland De ‘LinkList’-class Deze class bevat niets anders dan een referentie naar de eerste Link uit de lijst (en natuurlijk ook nog de benodigde bewerkingen op de elementen) class LinkList { private Link first; // ref to first link on list }

13 Hogeschool HZ Zeeland Double-ended lists Naast referentie naar eerste link, bevat een double-ended list ook een referentie naar het laatste item. Kan daarom items direct aan het begin en aan het einde invoegen (in O(1)). Kan dit ook bij het verwijderen? Heeft een voordeel bij bepaalde situatie: bijvoorbeeld een Queue.

14 Hogeschool HZ Zeeland Doubly-linked lists Een link bevat nu niet alleen een referentie naar de volgende link, maar ook naar de vorige link. Voordeel: achterwaarts traversen is mogelijk Nadeel: goed opletten met programmeren…

15 Hogeschool HZ Zeeland Sorted lists Vergelijkbaar met Ordered Array Het invoegen gebeurt door één voor één door de links te ‘wandelen’ (=traversal) totdat de juiste plaats is gevonden. Heeft deze list dezelfde voordelen als een ordered array?

16 Hogeschool HZ Zeeland Onderwerpen Referenties Linked Lists Binary (search) trees Iterators

17 Hogeschool HZ Zeeland Binary Tree Demo Applet

18 Hogeschool HZ Zeeland Binary Trees Slechts twee richtingen Bewerkingen (Workshop applet): – Insert – Find – Traverse – Delete

19 Hogeschool HZ Zeeland Tree terminologie Node Edge Path Root Parent Child Leaf Subtree Visiting Traversing Levels

20 Hogeschool HZ Zeeland Tree beperkingen Door verkeerde invoer (volgorde) degenereert de tree tot een gewone linked list. Oplossing: maak een slimme tree die zichzelf in balans houdt: Voorbeelden: – red-black trees – 2-3-4 trees

21 Hogeschool HZ Zeeland Einde…


Download ppt "Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3."

Verwante presentaties


Ads door Google