Datastrukturer og Collections Rasmus D. Lehrmann DM67 2010 1.

Slides:



Advertisements
Lignende præsentationer
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17] Gerth Stølting Brodal.
Advertisements

Felter og nøgle-felter (databaser, del 6)
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
Datastrukturer Simple-type structs
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
Distribueret programmering, specielt.NET Remoting Rasmus D. Lehrmann DM
Planfejning.
Array vs. ArrayList. Arrays Et array er en struktureret metode til at gemme flere værdier af den samme datatype. Data’en i et array ligger op ad hinanden.
ER-diagrammer (databaser, del 4)
Oprettelse af tabeller (Access, del 2)
Rapporter (Access, del 5)
Begreber og Redskaber 8. Plan for idag Sortering fortsat Comparable Søgning –Lineær søgning –Binær søgning.
Søgning & sortering Intro søgning Lineær søgning Binær søgning
1 UNION-FIND. 2 inddata: en følge af heltalspar (p, q); betydning: p er “forbundet med” q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel.
Induktion og rekursion
GP12, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 12 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
NOEA/IT - FEN1 Typeparametisering/Genericity Generics i.NET 2 og C#
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
FEN Rekursion og induktion1 Induktion og (især) rekursion Mange begreber defineres ud fra en basis og så en gentagen anvendelse af et antal regler.
Multi-vejs hobe med ekstra bytes Foredrag: Claus Jensen Projektmedlemmer: Jyrki Katajainen, Fabio Vitale, Claus Jensen.
1 Datalogi C Datastrukturer og algoritmer ved Keld Helsgaun.
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
Grafer og Algoritmer Rasmus D. Lehrmann DM
MMP Model og Metode til Programudvikling – MMP 1 Kursusindhold: Modellering af postkontor Objekt Orienteret Programudvikling - OO* Unified Modelling.
Løsning – mergeSort (Effektivitet af sortering) Definition af t(n): t(n)= 2t(n) + n.
1 Søgning I. 2 Plan Sekventiel søgning Binær søgning Binære søgetræer Balancerede binære søgetræer træer.
XML Rasmus D. Lehrmann DM Indhold Hvad er XML? XML standarder Hvor bruges XML? XML struktur Træ struktur Element & Attribute Syntaks i XML Stylesheets.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
1 Søgning. 2 Binære søgetræer og skiplister     S0S0 S1S1 S2S2 S3S3    2315.
1 Implementering af fundamentale datastrukturer. 2 Plan Stakke og køer Array-repræsentation Liste-repræsentation Hægtede lister Træer Terminologi Traversering.
1 Søgetræer. 2 Binære søgetræer Definition Operationer Balancerede binære søgetræer AVL-træer Rød-sort-træer (AA-træer) B-træer Plan.
Lektion 7 Læsestof: Kopier fra Caranno
Fundamentale datastrukturer
1 Algoritmisk geometri. 2 Intervalsøgning 3 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Alder Løn Ansættelsesdato.
Algoritmer og Datastrukturer 1
Forelæsning 5.1 Brug af klassen Collections og interfacet Comparable samt parametriserede typer Projektuge: Ants and Spiders / Lommeregner dIntProg,
Objekter og klasser Rasmus D. Lehrmann DM
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
1 Sortering. 2 Sortering ved fletning (merge-sort) 7 2 | 9 4  | 2  2 79 | 4   72  29  94  4.
10. Datastrukturer. 2 Nordjyllands Erhvervakademi Collections library Datastrukturer i.NET kaldes normalt Collections Findes i namespace System.Collections.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper: arrays, stakke, køer,
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal Aarhus Universitet.
1 Implementering af fundamentale datastrukturer. 2 Stakke og køer Array-repræsentation Liste-repræsentation Hægtede lister Træer Terminologi Traversering.
Oprettelse af tabeller (Access, del 2)
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Begreber og Redskaber 11. Plan for idag Lidt afrunding: Collections Framework i Java Noget om oversættere og sprog Evaluering Sidste gang øvelser før.
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal.
Collectionklasser Klassifikation og anvendelse. dIntProg, F08Collectionklasser.2 Samlinger af objekter Objektreferencer –for at holde fast i et objekt.
Algoritmer og Datastrukturer 1 Heaps [CLRS, kapitel 6] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Elementære Datastrukturer [CLRS, kapitel 10] Gerth Stølting Brodal Aarhus Universitet.
Elementære datastrukturer
Dynamisk Rang & Interval Træer [CLRS, kapitel 14]
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17]
Union-Find [CLRS, kapitel ]
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17]
Algoritmer og Datastrukturer 1
Dynamisk Rang & Interval Træer [CLRS, kapitel 14]
Grundlæggende Algoritmer og Datastrukturer
Præsentationens transcript:

Datastrukturer og Collections Rasmus D. Lehrmann DM

Indhold Definition af datastruktur Statisk og dynamisk Stakken Køen LinkedList Binært træ Søgetræer Travesering Balanceret søgetræ Hashmap Collection typer Opsummering 2

Definition af datastruktur Datastruktur er en betegnelse for data, der er organiseret i elementer, som kan tilføjes eller fjernes fra strukturen. Nogle datastrukturer forudsætter et nøglefelt, som der kan søges efter. Som udgangspunkt er der tilknyttet nogle basis operationer til en datastruktur: – Tilføj – Fjern – Søge efter element – Checke om strukturen er tom 3

Statisk og dynamisk Det skelnes imellem statiske og dynamiske datastrukturer. Statisk: Fast størrelse, kan vokse men øger køretid. Easy access til elementer (O(1)) Dynamisk: Bruger den nødvendige plads mængde til dataen. Traveserer over elementerne (O(n)). 4

Stakken Elementerne tilføjes og fjernes fra toppen. LIFO(sidste in først out) 5

Køen Elementerne tilføjes efter det sidst tilføjede element. FIFO(først ind først ud) 6

LinkedList Består af knuder – Dataelement + link Dynamisk Sekventiel tilgang 7

Eksempel LinkedList 8

Binært træ Bestående af en rod, et venstre og højre under træ – Forældre og børn referencer Træet kan være: – Tomt – Balanceret – Skæve 9

Søgetræer Hver knude har en ”midter” værdi Knuden er mindre i venstre undertræ Knude er støre i højre undertræ Gennemløb med InOrder vil sorterer værdierne med mindste værdi først 10

Travesering af søgetræ Travesering kan foregå på 3 måder: – preorder (rod, venstre, højre) – inorder (venstre, rod, højre) – postorder (venstre, højre, rod) 11

Eksempel på travasering af søgetræ 12

Balanceret søgetræ En knude kan have flere værdier En knude skal mindst være halvt fuld Sletninger og tilføjelser vil altid foregå så træet er balanceret. 13

Et søgetræ 14

Hashmap Værdier lagret i par(nøgle, værdi) Nøglen kan bruges til søgning Hvis nøglen findes, vil en værdi bliver returneret 15

Collection typer 16

Collection library System.Collections Klasser: – Array – ArrayList – Hashtable – Stack – Queue 17

Opsummering Datastrukturer og Collections Datastruktur: – Stakken – Køen – LinkedList – Binært træ Travesering: – Gennemløb af data Bruges til at gemme data, kan f.eks. Være en database 18