© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.

Slides:



Advertisements
Liknande presentationer
Talföljder formler och summor
Advertisements

Relationsdatabasdesign
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 4.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
Klasser och objekt.
1 Listor En sekvens värden av samma typ Nr 5. 2 Listor Sekvens av värden, element Variabelt antal Alla med samma typ Bara första elementet direkt åtkomligt.
Algoritmer och data strukturer -Länkade listor
Nya typer Konstruerare, selektorer och predikat Rekursiva datatyper
Fortsättningskurs i Programmering lektion 6
1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm.
Programmeringsteknik Föreläsning 4 Skolan för Datavetenskap och kommunikation.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 4.
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
Några standardalgoritmer
Binära Sökträd, kapitel 19
Föreläsning 6 Länkade lista Komplexitet Linjärsökning & binärsökning
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
DoA VT -07 © Anders Broberg, Lena Kallin Westin, P = ((C,F,3), (B,D,3), (C,G,4),(A,F,4), (A,R,4), (C,D,5), (E,G,6), (B,R,6), (A,E,6), (A,C,8)) A.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 1.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 6 Asymtotisk analys.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 7 Träd.
Hashing / Hash tabeller -- Kapitel 20. Hash? Varför en annan datastruktur? Konstant tid för både insert- och find- operationer.
Stora additionstabellen
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2004.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning l5 Abstrakta datatyper och algoritmdesign.
Pekare och speciell programstruktur i inbyggda system
1 ITK:P1 Föreläsning 7 Algoritmer och datastrukturer DSV Marie Olsson.
Vektorer (klassen Vector) Sortering
Bild 1 Hur använder vi KursInfo idag? Högskolan i Skövde.
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
Listor En lista är en föränderlig ordnad samling objekt.
Funktioner, styrstrukturer, manipulering av matriser
Det finns i V en operation kallad addition, betecknad + sådan att
Riktade listor i C och Java Lösning till gruppövning 1.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 11 Trie, Sökning och Sökträd.
Datastrukturer och algoritmer
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Prioritets Köer (Priority Queues ), Graph Data Structures & Problem Solving using Java --Kap 21,14.
Reflektioner kring OU1 Generellt sett bra kvalitet på dokumentationen! Första intryck... –Skulle du lämna in en jobbansökan med ett häftstift/gem eller.
För utveckling av verksamhet, produkter och livskvalitet. Stack och Kö - Implementering - Tilllämpningar.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 16.
Datastrukturer och algoritmer
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 14.
Stack och Kö -Implementering -Tilllämpningar -- Kapitel 16, 11.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastructurer - Sökträd, naiva och balancerade lösningar -HashTable -- Kapitel.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 13.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 9: Implementering av underprogram Aktiveringsposter Exekveringsstacken Implementera dynamisk räckvidd.
Köer -- Kapitel 16. Principen med en kö Köer är FIFO datastrukturer  First In – First Out  enqueue() Lägg till data i kön (först)  dequeue() Hämta.
Lennart Edblom & Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 9 Grafalgoritmer.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 13 Sortering.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 10.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Gruppövning 0.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 14.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och Datastrukturer -- Kap 21,14 Prioritets Köer (Priority Queues ), Graph.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 14.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 8 Relationer, prioritetsköer och grafer.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 4.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 16.
Datastrukturer och algoritmer Föreläsning 3. Datastrukturer och algoritmer VT08 Innehåll  Fält och Tabell  Att läsa: Kapitel 5-6.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastrukturer Hash Tabeller och Graf.
Presentationens avskrift:

© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Innehåll  Fält och Tabell  Modell  Informell och formell specifikation  Konstruktioner  Tillämpningar

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Fält  Modell  Schackbräde  Organisation  n-dimensionellt fält organiserat som rätblock  Tillåts innehålla odefinierade elementvärden  Statisk typ

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Specifikation  Måste bestämma i förväg  Datatypen för elementvärdena  Antal dimensioner fältet  Datatyp för varje koordinataxel

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Gränsyta  Ingående operationer  Konstruktorer oCreate, Set-value  Inspektorer oInspect-value, Has-value, Low, High

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Gränsyta till Fält abstract datatype Array(val,index) Create (lo,hi:index) -> Array(val,index) Set-value(i:index,v:val,a:Array(val,index)) ->Array(val,index) Low (a:Array(val,index)) -> index High (a:Array(val,index)) -> index Has-value (i:index,a:Array(val,index))-> Bool Inspect-value (i:index,a:Array(val,index))-> val

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Formell specifikation  Uppsättning axiom  Beskriver relationer mellan typens olika operationer  Axiom kan användas för att göra formella härledningar i datatypen

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Konstruktion av Fält  Fysisk datatyp i många språk  N-dim Fält som 1-dim Fält  ”vecklar” ut fältet  Matriser lagras radvis

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Fält som Lista  Vektorer kan konstrueras som Lista  Inte så effektiv  Matris kan konstrueras som Lista av listor

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Gles matris  Gles matris – stort antal element är odefinierade eller har värdet noll  Implementeras som Vektor av tabell  Sparar utrymme  Sparar tid

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Tillämpningar Fält  Tekniska beräkningar  Geometriska transformationer oRotation, translation, skalning  Linjära ekvationssystem  Kantdetektering i bilder  Spelmatriser

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Tabell  Modell  Uppslagsbok  Organisation  Ändlig avbildning av argument på värden  Dynamisk datatyp

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Gränsyta till Tabell abstract datatype Table(arg,val) Empty() -> Table(arg,val) Insert(x:arg,y:val,t:Table(arg,val)) -> (Table(arg,val) Isempty (t:Table(arg,val)) -> Bool Lookup (x:arg, t:Table(arg,val)) -> (Bool,val) Remove (x:arg, t:Table(arg,val)) ->(Table(arg,val)

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Fält vs Tabell  Likheter  Index svarar mot elementvärde i ett fält  Argument svarar mot tabellvärde i en tabell  Skillnader  Tabell oHar inga krav på argumenttypen oÄr en dynamisk datatyp

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Konstruktion  Tabell kan konstrueras som Fält om:  argumenttypen är DLO  det går att hitta en ODEF-konstant  Argumenten är relativt väl samlade och inte utspridda

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Konstruktion  Lista av par  Riktad Lista  Hashtabell, Binärt sökträd

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Insättningar  Två huvudalternativ  Sätt in det nya paret först i listan  Kolla om det finns par med samma argument

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Tabell  Jämför Fält respektive Lista som par konstruktionen  Insättningskostnad  Avläsning  Borttagning  När väljer man vad?

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, compareTo, equals Object key; Comparable cKey = Comparable (key); while ((currentNode != null)&& cKey.compareTo(currentNode.getkey())>0) {…} … if ((currentNode !=null) && key.equals(currentNode.getkey())) {…}

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, compareTo, equals  När väljer man vad?  compareTo, equals jämför objekt  == jämför minnesadresser

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Tillämpningar  Ofta använd datatyp t ex  Representera samband mellan objekt  Benämna objekt  Associera egenskaper hos ett objekt med motsvarande värden  Kompilatorer  Fält som Tabell

Datastrukturer och algoritmer VT 2004 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Tippel, Post, Relation  Associerar argument med värden  Tippel består av element (koordinater)  Post (record,struct) är som abstrakt datatyp sett samma sak som Tippel.  Relation är en egenskap definierad för en grupp av objekt