Datastrukturer och algoritmer Frelsning 3 030124 Anders Broberg
Datastrukturer och algoritmer Föreläsning 3 030124 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Innehåll u Fält och Tabell ØModell ØInformell och formell specifikation ØKonstruktioner ØTillämpningar Datastrukturer och algoritmer VT 2003 2 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Fält u Modell ØSchackbräde u Organisation Datastrukturer och algoritmer VT 2003 3 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Specifikation u 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 4 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Formell specifikation u Uppsättning axiom u Beskriver relationer mellan typens olika operationer u Axiom kan användas för att göra formella härledningar i datatypen Datastrukturer och algoritmer VT 2003 5 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Konstruktion av Fält u Fysisk datatyp i många språk u N-dim Fält som 1 -dim Fält Ø”vecklar” ut fältet ØMatriser lagras radvis Datastrukturer och algoritmer VT 2003 6 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Fält som Lista u Vektorer kan konstrueras som Lista ØInte så effektiv u Matris kan konstrueras som Lista av listor Datastrukturer och algoritmer VT 2003 7 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Gles matris u Gles matris – stort antal element är odefinierade eller har värdet noll u Implementeras som Vektor av tabell ØSparar utrymme ØSparar tid Datastrukturer och algoritmer VT 2003 8 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Tillämpningar Fält u Tekniska beräkningar ØGeometriska transformationer o Rotation, translation, skalning ØLinjära ekvationssystem ØKantdetektering i bilder ØSpelmatriser Datastrukturer och algoritmer VT 2003 9 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Tabell u Modell ØUppslagsbok u Organisation ØÄndlig avbildning av argument på värden u Gränsyta Datastrukturer och algoritmer VT 2003 10 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Fält vs Tabell u Likheter ØIndex – elementvärde i Fält ØArgument – tabellvärde i Tabell u Skillnader ØInga krav på argumenttypen ØDynamisk datatyp Datastrukturer och algoritmer VT 2003 11 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Konstruktion u 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 12 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Konstruktion u Lista av par ØRiktad Lista u Hashtabell, Binärt sökträd Datastrukturer och algoritmer VT 2003 13 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Insättningar u 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 14 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Tabell u Jämför Fält respektive Lista som par konstruktionen ØInsättningskostnad ØAvläsning ØBorttagning u När väljer man vad? Datastrukturer och algoritmer VT 2003 15 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Tillämpningar u Ofta använd datatyp t ex ØRepresentera samband mellan objekt ØBenämna objekt ØAssociera egenskaper hos ett objekt med motsvaran de värden u Kompilatorer u Fält som Tabell Datastrukturer och algoritmer VT 2003 16 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
Tippel, Post, Relation u Tippel består av element (koordinater) u Koordinaten är inte en parameter, ligger implicit i respektive funktion u Post (record, struct) är som abstrakt datatyp sett samma sak som Tippel. u Relation Datastrukturer och algoritmer VT 2003 17 © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003
- Slides: 17