Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)

Liknende presentasjoner


Presentasjon om: "INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)"— Utskrift av presentasjonen:

1 INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)

2 Abstrakte datatyper En abstrakt datatype er en samling objekter sammen med et samling operasjoner som kan gjøres med objektene. En abstrakt datatype er en matematisk abstraksjon Det er ikke gitt hvordan operasjonene skal implementeres Eksempler på ADT Lister, Mengder, Bager, Stakker, Køer og tilhørende operasjoner

3 Java og ADT Klassen gir mulighet for å vise operasjoner og samtidig skjule implementering For å gjøre det mulig å implementere samme ADT på forskjellige måter, kan vi bruke et Interface.

4 ADT - Liste Liste modellerer en liste av elementer A 1,A 2, A 3,..., A n Elementene i lista kan være objekter som representerer hva som helst: Studenter, Svømmere, Inventar Vi kan lage forskjellige ADT for liste avhengig av hvilke operasjoner som skal kunne gjøres på lista Operasjonene kan defineres i et grensesnitt (interface)

5 ADT – Liste

6 Listeimplementasjon med array settInn: er O(n)*. Alle elementer etter den vi setter inn må flyttes slett: O(n) finn: O(n)* hent: O(1) skrivListe: O(n) erTom: O(1) slettAlt:O(1) Arrayen har ikke dynamisk størrelse * Hvis arrayen holdes sortert, kan finn bli O(log n) – Hvordan, får dette negative konsekvenser for settInn?

7 Lenkede lister

8 settInn: er O(1)*. slett: O(1)* finn: O(n) hent: O(n) skrivListe: O(n) erTom: O(1) slettAlt:O(1) * Hvis vi allerede har funnet stedet der elementet skal inn er tiden O(1) – Hvis vi må finne stedet først, blir tiden O(n), men vi må ha tak i noden foran. Spesialtilfelle – hvis vi setter inn og tar ut først i lista blir settInn og slett svært raske.

9 Lenkede lister med hode

10 Andre lenkede liste

11 Alternative lenkede lister Lenkede lister med hode Sirkulære lenkede lister Dobbelt lenkede lister

12 Anvendelser Polynom ADT Radixsortering Som erstatning for sparse arrays- multiliste

13 Multiliste


Laste ned ppt "INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)"

Liknende presentasjoner


Annonser fra Google