© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
Datastrukturer och algoritmer VT 2003 © 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 2003 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Fält Modell Schackbräde Organisation
Datastrukturer och algoritmer VT 2003 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Specifikation Måste bestämma i förväg Datatypen för elementvärdena Antal dimensioner Datatyp för varje koordinataxel Statisk datatyp
Datastrukturer och algoritmer VT 2003 © 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 2003 © 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 2003 © 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 2003 © 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 2003 © 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 2003 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Tabell Modell Uppslagsbok Organisation Ändlig avbildning av argument på värden Gränsyta
Datastrukturer och algoritmer VT 2003 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Fält vs Tabell Likheter Index – elementvärde i Fält Argument – tabellvärde i Tabell Skillnader Inga krav på argumenttypen Dynamisk datatyp
Datastrukturer och algoritmer VT 2003 © 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 2003 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Konstruktion Lista av par Riktad Lista Hashtabell, Binärt sökträd
Datastrukturer och algoritmer VT 2003 © 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 2003 © 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 2003 © 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 motsvaran de värden Kompilatorer Fält som Tabell
Datastrukturer och algoritmer VT 2003 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, Tippel, Post, Relation Tippel består av element (koordinater) Koordinaten är inte en parameter, ligger implicit i respektive funktion Post (record,struct) är som abstrakt datatyp sett samma sak som Tippel. Relation