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

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Kap.8 Sortering og søking sist oppdatert • Del 1 Søking - lineær søking m/u sorterte elementer - binærsøking - analyse • Del 2 Sortering - ”gamle”
Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.
INF 295 Forelesning 15 - kap 9 Grafer Hans Fr. Nordhaug (Ola Bø)
Kap 01 Innledning I dette kapitlet skal vi se litt følgende hovedtemaer: - Kursoppbygging - Hva er algoritmer og datastrukturer - Anvendelser - …
1 Kap 08 Kø. 2 Kø - Definisjon En kø (eng queue) er en lineær struktur hvor elementer kan innsetttes kun i den ene enden av listen, kalt bak, og fjernes.
Oversikt Den delen av Standard C++ Library som tidligere var STL Konsepter i STL: –Iteratorer –Samlinger (containers) –Algoritmer –Funksjonsobjekter.
INF 295 Algoritmer og datastrukturer Forelesning 21 Merge, Quick og Bøtte, Radix og ekstern sortering Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 7 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 1 - kapittel 1 Introduksjon Hans F. Nordhaug (Ola Bø) (Ketil Danielsen, 2007)
INF 295 forelesning 14 - kap 8 Disjunkt mengde ADT Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 9a Søketrær Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 8 Trær Hans Fr. Nordhaug (Ola Bø)
INF 295 forelesning 13 - kap 6 Prioritetskø (Heap) Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 16 - kap 9 Minimalt spenntre og korteste vei i grafer Hans Fredrik Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 11 Når RAM ikke strekker til - B-trær og Utvidbar hashing Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 17 - kap 9 Korteste vei i grafer Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 20 - Kapittel 7 Boble-, innstikk-, Shell-, Heap-, Quick-, Mergesortering Hans Fr. Nordhaug (Ola Bø)
Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 4 Algoritmeanalyse Hans Fr. Nordhaug (Ola Bø)
INF 295 forelesning 13 - kap 6 Andre prioritetskøer Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 18 - kap 9 Aktivitetsgrafer
INF 295 Algoritmer og datastrukturer Forelesning 9b Balanserte (binære) trær Hans Fr. Nordhaug.
INF 295 Forelesning 19 - Dynamisk programmering Korteste vei alle til alle (Floyd) Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 10 Invarianter og Hashing Hans Fr. Nordhaug (Ola Bø)
1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon.
INF 295 forelesning 12 Repetisjon per 17. februar Hans F. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 5 Algoritmeanalyse Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 22 Teknikker for algoritmeutvikling Hans Fr. Nordhaug/ Ola Bø.
INF 295 Algoritmer og datastrukturer Web-spider Oblig 3 Hans Fr. Nordhaug (Ola Bø)
Kapittel 12 Samlingar Samlingar og datastrukturar Ei samling (collection) blir brukt til å oppbevare og handtere andre objekt ArrayList – klassen.
Iterator i Java boolean hasNext() E next() void remove()
DILEMMA, DRIVKREFTER OG BARRIERER
Geometri 1.
Forelesning 9 Are Raklev.
Måling.
Arbeidsgiver skal utføre risikovurdering.
Måling.
Forelesning 5: Dopplereffekten Relativitetsteori Partikkelfysikk
Nye Bildrivstoff Rotary Skien Nye Bildrivstoff Rotary Skien
Forsering av fag og fraværsgrense i videregående skole
Matematikk i skole og lærerutdanning
Påskeminicamp kunstløp 8-10 April i Tromsø.
Bransjeforum for handel, service, kultur og reiseliv
MULTIFUNKSJONSHALL DRAMMEN
Lecture 10.
Are Raklev Teoretisk fysikk, rom FØ456,
ELEVER, FORELDRE OG DE SOM JOBBER PÅ EKROM OG KRINGSJÅ
Østensjøvannet. Det virkelig levende vassdraget.
Fagkonferansen om karriereveiledning 3.og4.mai 2017.
Tiltakskostnader for elbil
Algebra 3 Grunnskolelærerutdanningen 1–7, nett Matematikk 1, modul 2
Overføringsflyktninger
Forelesning 9 Are Raklev.
Brevet til menigheten i Smyrna, Åp 2:8-11
Periodeplan for Sommerly uke 6 og 7 AKSJON FORUT
Oversikt over tvangsreglene i helseretten
Lecture 9.
Are Raklev Teoretisk fysikk, rom FØ456,
Omvendt proporsjonale storleikar
Forelesning 6 Are Raklev.
Are Raklev Teoretisk fysikk, rom FØ456,
Forelesning 5 Are Raklev.
Forelesning 11 Are Raklev.
Are Raklev Teoretisk fysikk, rom FØ456,
Introduksjon til Partikkelfysikk
Bolk 4 – Binære utfallsvariable, forskjell i andeler mellom grupper
Medarbeiderundersøkelse Universitetet i Stavanger 2009
Rettssikkerhet i digital forvaltning - og litt om forholdet til personvern Dag Wiese Schartum.
Utskrift av presentasjonen:

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

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

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.

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)

ADT – Liste

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?

Lenkede lister

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.

Lenkede lister med hode

Andre lenkede liste

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

Anvendelser Polynom ADT Radixsortering Som erstatning for sparse arrays- multiliste

Multiliste