Uno Holmer, Chalmers, :28 Uno Holmer, Chalmers, :28
|
|
- Ann-Sofie Bergström
- för 6 år sedan
- Visningar:
Transkript
1 ADT:er, datastrukturer och standardklasser i Java Föreläsning 2 (Weiss kap. 6) Datatyp, abstrakt datatyp, datastruktur Några vanliga datastrukturer Tillämpningar Tidskomplexitet Standardklasser Standardalgoritmer Datatyp En datatyp är en mängd av värden Ex. int, char, boolean, double, Person, String Typer som int, char, boolean och float kallas ibland konkreta datatyper eftersom de är inbyggda i språket och har en direkt representation i datorns minne Definitionen av en datatyp säger ej nödvändigtvis vilka operationer som är giltiga för den nya typen 1 2 Abstrakt datatyp En Abstrakt DataTyp (ADT) består av en datatyp (en mängd av värden) operationer som är giltiga för värden av typen axiom som beskriver operationernas betydelse Ex. heltalen tillsammans med de aritmetiska operationerna + - * / och lagarna för aritmetik En abstrakt datatyp definierar inte hur värden av typen representeras i en dator En abstrakt datatyp kan implementeras på olika sätt Datastruktur Representation av data (värden) och operationer i en abstrakt datatyp En datastruktur är en konkret implementering av en abstrakt datatyp -- med hjälp av typbildningskonstruktioner i ett programmeringsspråk: Datarepresentation för typens värden int, char, boolean, float + fält, post (struct), pekare, + Algoritmer för typens operationer metoder, operatorer 3 4 Exempel på datastrukturer Datastrukturers resurskrav ADT:n Mängd av heltal med operationerna add och contains implementeras av datastrukturerna SimpleSet och SetOfInt (båda representeras som fält - men på olika sätt) Datarepresentationen påverkar datastrukturens minnesbehov beräkningstiden för strukturens operationer ADT:erna Stack (Last-In-First-Out) Kö (First In First Out) kan t.ex. representeras med: Fält Länkad lista 5 Fält + snabb åtkomst av samtliga element - ofta outtnyttjat minne (overhead) Länkad lagring + minnesåtgången motsvarar behovet, men - en (eller flera) extra pekare per dataelement - åtkomst av vissa element kan vara långsam 6
2 Några vanliga ADT:er Stack Stack Kö Lista Sökträd HashTabell Prioritetskö Map LIFO FIFO flexibel access ordnad mängd oordnad mängd ordnad kö avbildningstabell (associationslista) LIFO = Last In First Out push(x) Lägger x överst på stacken pop() Tar bort översta elementet top() Returnerar översta elementet isempty() Avgör om stacken är tom push(x) x top x pop 7 8 Kö FIFO = First In First Out enqueue(x) Lägger x sist i kön dequeue() Tar bort första elementet getfront() Returnerar första elementet isempty() Avgör om kön är tom y getfront y x enqueue(x) Lista Insättning och uttag kan göras i valfri position a c d e f b dequeue 9 10 Sökträd Ordnat binärt träd utan duplikat (ordnad mängd) add(x) Sätter in x i trädet y contains(x) Söker efter x i trädet remove(x) Tar bort x ur trädet isempty() Avgör om trädet är tomt x < y x > y Hashtabell Tabellbaserad struktur utan duplikat (oordnad mängd) add(x) Sätter in x i tabellen contains(x) Söker efter x i tabellen remove(x) Tar bort x ur tabellen isempty() Avgör om tabellen är tom Allan Kalle hash() N-1 Kalle Allan 11 12
3 Prioritetskö Snabb access av minsta elementet (ordnad kö) add(x) Lägger x i kön peek() Returnerar minsta elementet y remove() Tar bort minsta elementet isempty() Avgör om kön är tom Map Tabell för namn-värde-avbildningar add(k,x) Sätter in avbildningen (k,x) i tabellen get(k) Returnerar värdet med nyckeln k remove(k) Tar bort nyckeln k ur tabellen isempty() Avgör om tabellen är tom x > y x > y Kalle Allan Tillämpningar Stack Lagring av aktiveringsposter i blockstrukturerade programmeringsspråk. Reversering av dataström x,y,z,,z,y,x DFS = Djupet Först Sökning i grafer och träd Ex. kommandot back i Zuul (sökning efter ett visst rum) Ex. parentesmatchning (()([]())) ([)] FIFO-kö Operativsystem BFS = Bredden Först Sökning i grafer och träd Ex. Nivåvis genomlöpning av träd Ex. Släck ljuset rum för rum i ett hus Binära sökträd Ex. Ordlistor Ordnade mängder med stor förändringsintensitet Om sökning blandas med insättningar och uttag sök blir linjära strukturer som listor och fält blanda uttag alltför ineffektiva alltför med Beräkning av kortaste avstånden i en oviktad graf 17 18
4 Hashtabell Symboltabeller i kompilatorer Oordnade mängder med stor förändringsintensitet Sökning blandat med insättningar och uttag Spelprogram Ex. memorering av spelställningar i ett schackparti Prioritetskö Operativsystem Datakompression med Huffmans algoritm MST = Minsta Uppspännande Trädet i grafer Dijkstras algoritm för kortaste avstånden i viktad graf Tidskomplexitet hos vanliga datastrukturer DS Access, T(N) Kommentar Stack Sist insatta, O(1) Mycket snabb FIFO-kö Först insatta, O(1) Mycket snabb Länkad lista Valfritt element, O(N) Linjärsökning Sökträd Valfritt element, O(log N) AC, WC (kräver balansering av trädet) Hashtabell Valfritt element, O(1) AC Prioritetskö finnminsta, O(1) tagbortminsta, O(log N) insättning är O(1) i genomsnitt, men O(log N) i värsta fall (WC) Standardklasser i Java (Weiss kap. 6) Standardklasser Standardalgoritmer WC = Worst Case (Värsta fallet) AV = Average Case (I genomsnitt) T(N) = tidsåtgång när operationen i fråga appliceras på en struktur av storlek N T(N) är O(f(N)) omm T(N) är uppåt begränsad av f(n) O(1) betyder att operationen tar konstant tid (beror ej av N) Objektsamlingar och avbildningstabeller Köer Gräns -snitt (ADT) Implementeringsteknik (datastruktur) Hashtabell Flexibelt fält Balanserat sökträd Set HashSet TreeSet Länkad lista List ArrayList LinkedList Map HashMap TreeMap Gränssnitt Implementeringsteknik Binär hög Länkad lista Queue PriorityQueue LinkedList 23 24
5 Behållare och asssociativa datastrukturer Ordnade Oordnade HashSet ArrayList TreeSet Behållare LinkedList Vector PriorityQueue Stack Associativa TreeMap HashMap 25 public interface <E> public Iterator<E> iterator() Returns an iterator over a set of elements of type E Ex. public class SomeClass implements <SomeType> { public Iterator<SomeType> iterator(); 26 public interface Iterator<E> boolean hasnext() Returns true if the iteration has more elements. E next() Returns the next element in the iteration. void remove() Removes from the underlying collection the last element returned by the iterator. 27 public interface <E> extends <E> boolean add(e o) Ensures that this collection contains the specified element. boolean addall(<? extends E> c) Adds all of the elements in the specified collection to this collection. void clear() Removes all of the elements from this collection. boolean contains( o) Returns true if this collection contains the specified element. int size() Returns the number of elements in this collection. boolean isempty() Returns true if this collection contains no elements. Iterator<E> iterator() Returns an iterator over the elements in this collection. boolean remove( o) Removes a single instance of the specified element from this collection. [] toarray() Returns an array containing all of the elements in this collection. + others 28 Förenklad iterering f.o.m. Java 5 SomeClass some for ( type variable : some ) { Ex. Förenklad iterering HashSet<Integer> hs = new HashSet<Integer>(); Iterator itr = some.iterator(); while (itr.hasnext()) { type variable = itr.next(); for ( Integer x : hs ) System.out.println(x); 29 30
6 Abstrakta mallklasser Gränssnitt public Interface Int Implementerar vissa grundmetoder Mallklasser AbstractMap Map Abstrakt mallklass public abstract class AbsCls implements Int List Set Abstract Queue AbstractList AbstractSet AbstractQueue Konkret klass public class Cls1 extends AbsCls Konkret klass public class Cls2 implements Int AbstractSequentialList Linjära liststrukturer Direktaccesstrukturer List Abstract Queue List Abstract AbstractList RandomAccess AbstractList AbstractSequentialList ArrayList LinkedList ArrayList Vector Stackar och prioritetsköer Mängdstrukturer List RandomAccess Abstract Queue Set Abstract AbstractList AbstractQueue SortedSet AbstractSet Vector Stack PriorityQueue TreeSet HashSet 35 36
7 Associativa strukturer public interface Map<K,V> SortedMap Map TreeMap AbstractMap HashMap void clear() Removes all mappings from this map (optional operation). boolean containskey( key) Returns true if this map contains a mapping for the specified key. boolean containsvalue( value) Returns true if this map maps one or more keys to the specified value. Set<Map.Entry<K,V>> entryset() Returns a set view of the mappings contained in this map. V get( key) Returns the value to which this map maps the specified key. boolean isempty() Returns true if this map contains no key-value mappings. Set<K> keyset() Returns a set view of the keys contained in this map. V put(k key, V value) Associates the specified value with the specified key in this map. V remove( key) Removes the mapping for this key from this map if it is present. int size() Returns the number of key-value mappings in this map. <V> values() Returns a collection view of the values contained in this map Standardalgoritmer Statiska metoder i class s Används för linjära strukturer, t.ex. ArrayList och LinkedList Ex. LinkedList<Integer> l = new LinkedList<Integer>(); for ( int i = 0; i < 10; i++ ) l.add(i); s.shuffle(l); s.sort(l); System.out.println(s.binarySearch(l,x)); 39 Standardalgoritmer forts. rotate(list list,int distance) Rotates all of the elements in the list by the specified distance replaceall(list list, oldval, newval) Replaces all occurrences of one specified value with another indexofsublist(list source,list target) Returns the index of the first sublist of source that is equal to target lastindexofsublist(list source,list target) Returns the index of the last sublist of source that is equal to target swap(list,int,int) Swaps the elements at the specified positions in the specified list frequency(,) Counts the number of times the object occurs in the collection disjoint(,) Determines whether two collections are disjoint addall(,elements) Adds specified elements to the collection 40 Standardalgoritmer forts. sort(list) Sorts a list using a merge sort algorithm binarysearch(list,) Searches for an element in an ordered list using the binary search algorithm shuffle(list) Randomly permutes the elements in a list fill(list,) Overwrites every element in a list with the specified value copy(list dest,list src) Copies the source list into the destination list min() Returns the minimum element in a collection max() Returns the maximum element in a collection 41 Equals Alla klasser ärver metoden equals från. Den ärvda metoden ger pekarlikhet vilket i allmänhet är alltför diskriminerande. En korrekt överskuggning av equals bör ha följande form public class SomeClass { public boolean equals( obj) { if ( obj == null getclass()!= obj.getclass() ) return false; else { SomeClass tmp = (SomeClass)obj; jämför instansvariablerna i detta objekt med variablerna i obj och returnera resultatet 42
8 Equals - exempel Equals - exempel public class Geometric { private int x = 0; private int y = 0; public class Circle extends Geometric { private int radius; public Geometric(int x,int y) { this.x = x; this.y = y; public boolean equals( obj) { if ( obj == null getclass()!= obj.getclass() ) return false; else { Geometric tmp = (Geometric)obj; return x == tmp.x && y == tmp.y; public Circle(int x,int y,int radius) { super(x,y); this.radius = radius; public boolean equals( obj) { return super.equals(obj) && radius == ((Circle)obj).radius; 43 44
Länkade strukturer. (del 2)
Länkade strukturer (del 2) Översikt Abstraktion Dataabstraktion Inkapsling Gränssnitt (Interface) Abstrakta datatyper (ADT) Programmering tillämpningar och datastrukturer 2 Abstraktion Procedurell abstraktion
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar
Läs merTentamen, EDAA01 Programmeringsteknik fördjupningskurs
LUNDS TEKNISKA HÖGSKOLA 1(3) Institutionen för datavetenskap Tentamen, EDAA01 Programmeringsteknik fördjupningskurs 2017 08 14, 8.00 13.00 Anvisningar: Denna tentamen består av 5 uppgifter. Preliminärt
Läs merDatastrukturer. Arrayer. Arrayer. Arrayer. Array av arrayer. Array av arrayer
Arrayer Samling av data Datastrukturer int[] minatelnummer = new int[30]; // allokering av tillräckligt // stort minnesutrymme Element refereras genom indexering ringa = minatelnummer[25]; // indexering
Läs merSamlingar Collection classes
Samlingar Collection classes Sven-Olof Nyström Uppsala Universitet 17 mars 2005 Skansholm: Kapitel 9, 19 Se även Suns tutorial om Collections Olika slag av samlingar i Java Arrayer (Till exempel: int[])
Läs merF12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander
F12 - Collections ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Collections (samlingar) En collection är ett objekt som fungerar som en samling av andra objekt En collection erbjuder
Läs merAbstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.
-Algoritmer och Datastrukturer- Abstrakt datatyp Datatyp för en variabel Betecknar i ett programmeringsspråk den mängd värden variabeln får anta. T ex kan en variabel av typ boolean anta värdena true och
Läs merInterfacen Set och Map, hashtabeller
Föreläsning 0 Innehåll Hashtabeller implementering, effektivitet Interfacen Set och Map ijava Interfacet Comparator Undervisningsmoment: föreläsning 0, övningsuppgifter 0-, lab 5 och 6 Avsnitt i läroboken:
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 5 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 5 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Kort om javadoc Abstrakta datatyper Ordböcker/Mappar Listor Stackar
Läs merDatastrukturer. föreläsning 3. Stacks 1
Datastrukturer föreläsning 3 Stacks 1 Abstrakta datatyper Stackar - stacks Köer - queues Dubbeländade köer - deques Vektorer vectors (array lists) All är listor men ger tillgång till olika operationer
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar
Läs merFöreläsning 4 Datastrukturer (DAT037)
Föreläsning 4 Datastrukturer (DAT07) Fredrik Lindblad 1 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat07 1 Innehåll
Läs merFöreläsning 10 Innehåll
Föreläsning 10 Innehåll Hashtabeller implementering, effektivitet Metoden hashcode i Java Abstrakta datatyperna mängd (eng. Set) och lexikon (eng. Map) Interfacen Set och Map i Java Undervisningsmoment:
Läs merDiskutera. Hashfunktion
Föreläsning 1 Innehåll Diskutera Hashtabeller implementering, effektivitet Metoden hashcode i Java Abstrakta datatyperna mängd (eng. Set) och lexikon (eng. Map) Interfacen Set och Map i Java Tidigare har
Läs merFöreläsning 10 Innehåll. Diskutera. Hashtabeller. Hashfunktion. hashfunktion. hashkod (ett heltal)
Föreläsning 0 Innehåll Diskutera Hashtabeller implementering, effektivitet Metoden hashcode i Java Abstrakta datatyperna mängd (eng. Set) och lexikon (eng. Map) Interfacen Set och Map ijava Undervisningsmoment:
Läs merADT Kö. Seminarium 4 Köer och Stackar Innehåll. Operationer. ADT Stack. Definition. Definition
Seminarium 4 Köer och Stackar Innehåll ADT:erna Kö och Stack Definitioner Operationer Exempel på användning Givna klasser i Java Interfacet Queue Klassen Stack Klassen LinkedList Klassen PriorityQueue
Läs merFöreläsning 11 Innehåll
Föreläsning 11 Innehåll Hashtabeller implementering, effektivitet Metoden hashcode i Java Abstrakta datatyperna mängd (eng. Set) och lexikon (eng. Map) Interfacen Set och Map i Java Datavetenskap (LTH)
Läs merFöreläsning 2 Datastrukturer (DAT037)
Föreläsning 2 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-02 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Tidskomplexitet
Läs merFöreläsning 14 Innehåll
Föreläsning 14 Innehåll Abstrakta datatyper, datastrukturer Att jämföra objekt övriga moment i kursen Om tentamen Skriftlig tentamen både programmeringsuppgifter och teoriuppgifter Hitta fel i fingerade
Läs merInlämningsuppgift och handledning
Inlämningsuppgift och handledning Inlämningsuppgiften redovisas i vecka 49/50. Hög tid att komma igång! Jourtider varje vecka (se http://cs.lth.se/edaa01ht/inlaemningsuppgift) Frågestunder på fredagluncher
Läs merStackar, köer, iteratorer och paket
Stackar, köer, iteratorer och paket Programmering för språkteknologer 2 Sara Stymne 2013-09-18 Idag Paket Stackar och köer Array resp länkad struktur Iteratorer Javadoc Kommentarer lab 1 Bra att de flesta
Läs merSeminarium 3 Introduktion till Java Collections Framework Innehåll. Generik Bakgrund. Exempel på en generisk klass java.util.arraylist.
Seminarium 3 Introduktion till Java Collections Framework Innehåll Generik Bakgrund Java Collections Framework interface och klasser för samlingar av element interfacen Iterator och Iterable och foreach-sats
Läs merFöreläsning 4. ADT Kö Kö JCF Kö implementerad med en cirkulär array Kö implementerad med en länkad lista
Föreläsning 4 Kö Föreläsning 4 ADT Kö Kö JCF Kö implementerad med en cirkulär array Kö implementerad med en länkad lista ADT Kö Grundprinciper: En kö fungerar som en kö. Man fyller på den längst bak och
Läs merSeminarium 2 Introduktion till Java Collections Framework Innehåll. Generik Bakgrund. Exempel på en generisk klass java.util.arraylist.
Seminarium 2 Introduktion till Java Collections Framework Innehåll Generik Bakgrund Generik används för att få typsäkra datastrukturer Java Collections Framework Standardbibliotek med datastrukturer i
Läs merDen som bara har en hammare tror att alla problem är spikar
Introduktion Föreläsning (Weiss kap. -4) Många begrepp blir det Introduktion till kursen Exempel: Datastrukturen mängd Generiska Den som bara har en hammare tror att alla problem är spikar Vilken
Läs merInlämningsuppgift och handledning. Föreläsning 11 Innehåll. Diskutera. Hashtabeller
Inlämningsuppgift och handledning Föreläsning 11 Innehåll Inlämningsuppgiften redovisas i vecka 49/50. Hög tid att komma igång! Jourtider varje vecka (se http://cs.lth.se/edaa01ht/inlaemningsuppgift) Frågestunder
Läs merTentamen, EDA690 Algoritmer och Datastrukturer, Helsingborg
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen, EDA690 Algoritmer och Datastrukturer, Helsingborg 2013 12 19, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt
Läs merObjektorienterad Programkonstruktion. Föreläsning 9 30 nov 2016
Objektorienterad Programkonstruktion Föreläsning 9 30 nov 2016 Collections Ett samlingsnamn på objekt som innehåller en samling av andra objekt Det finns många olika sorters Collections, t.ex listor, träd,
Läs merADS : STACK ADT: STACK. Stack och Kö -Implementering - Tilllämpningar. Oftast förekommande metoder i Stack. TopOfStack
Stack och Kö -Implementering - Tilllämpningar ADS : STACK Det finns ett par vanligt förekommande ADT:er för samlingar av element som egentligen är specialfall av listor. En av dem är Stack Definition:
Läs merAbstrakta datatyper. Primitiva vektorer. Deklarera en vektor
Abstrakta datatyper 1 Primitiva vektorer Vektorer kan skapas av primitiva datatyper, objektreferenser eller andra vektorer. Vektorer indexeras liksom i C från 0. För att referera en vektor används hakparenteser.
Läs merSamlingar Collection classes
Samlingar Collection classes Sven-Olof Nyström Uppsala Universitet 17 juni 2005 Skansholm: Kapitel 9, 19 Se även Suns tutorial om Collections 1 Motivation: Vill samla olika datastrukturer för att representera
Läs merTentamen, EDAA01 Programmeringsteknik fördjupningskurs
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA01 Programmeringsteknik fördjupningskurs 2012 12 20, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt
Läs merFöreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp
Föreläsning 4 Innehåll Abstrakta datatypen lista Definition Abstrakta datatypen lista egen implementering Datastrukturen enkellänkad lista Nästlade klasser statiska nästlade klasser inre klasser Listklasser
Läs merFöreläsning 3 Datastrukturer (DAT037)
Föreläsning 3 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-07 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat037 Förra
Läs merJava Collections Framework. Föreläsning 2 Innehåll. Java Collections Framework interface hierarki. Java Collections Framework interface hierarki
Föreläsning 2 Innehåll Java Collections Framework (interface och klasser för samlingar av element) Använda generiska klasser autoboxing - och unboxing Iterera genom en samling element Jämföra element skugga
Läs merHitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet
Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig
Läs merFöreläsning 11. ADT:er och datastrukturer
Föreläsning 11 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2. Länkade listor Stackar Köer MyList Iteratorer Lab 2 Exceptions Paket
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2 Länkade listor Stackar Köer MyList Iteratorer Lab 2 Exceptions Paket 1 Länkade listor Likadant som i Ada-kursen. 2 Stack MyStack MyStack
Läs merFöreläsning 4 Innehåll
Föreläsning 4 Innehåll Abstrakta datatypen lista Datastrukturen enkellänkad lista Nästlade klasser statiskt nästlade klasser inre klasser Listklasser i Java Implementera abstrakta datatyperna stack och
Läs merFöreläsning 2 Innehåll
Föreläsning 2 Innehåll Java Collections Framework (interface och klasser för samlingar av element) Använda generiska klasser autoboxing - och unboxing Iterera genom en samling element Jämföra element skugga
Läs merFöreläsning 3 Datastrukturer (DAT037)
Föreläsning 3 Datastrukturer (DAT037) Fredrik Lindblad 1 6 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat037 1
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2012-11-05 Repetition Förra gången: Listor, stackar, köer. Länkade listor, pekarjonglering. Idag: Cirkulära arrayer. Dynamiska arrayer. Amorterad
Läs merFöreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
Läs merTDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2. Laboration 2 Datastrukturer En liten uppgift Frågor
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2 Laboration 2 Datastrukturer En liten uppgift Frågor 1 Laboration 2 - Datastrukturer Länkade datastrukturer Stack Kö (En. Queue) Lista
Läs merLänkade strukturer, parametriserade typer och undantag
Länkade strukturer, parametriserade typer och undantag Programmering för språkteknologer 2 Sara Stymne 2013-09-18 Idag Parametriserade typer Listor och länkade strukturer Komplexitet i länkade strukturer
Läs merFöreläsning 9 Innehåll
Föreläsning 9 Innehåll Binära sökträd algoritmer för sökning, insättning och borttagning, implementering effektivitet balanserade binära sökträd, AVL-träd Abstrakta datatyperna mängd (eng. Set) och lexikon
Läs merFöreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-25 Idag Starkt sammanhängande komponenter Duggaresultat Sökträd Starkt sammanhängande komponenter Uppspännande skog Graf, och en möjlig
Läs merLösningsförslag till tentamen Datastrukturer, DAT037,
Lösningsförslag till tentamen Datastrukturer, DAT037, 2018-04-05 1. q.dequeue() tar O(1) (eventuellt amorterat) s.contains(x) tar O(1) pq.add(x) tar O(log i) I värsta fall exekveras innehållet i if-satsen.
Läs merFöreläsning 4. ADT Kö Kö JCF Kö implementerad med en cirkulär array Kö implementerad med en länkad lista Läsanvisningar och uppgifter
Föreläsning 4 Kö Föreläsning 4 ADT Kö Kö JCF Kö implementerad med en cirkulär array Kö implementerad med en länkad lista Läsanvisningar och uppgifter ADT Kö Grundprinciper: En kö fungerar som en kö. Man
Läs merTentamen Objekt-orienterad programmering i Java, 5p distanskurs
Tentamen 2006-05-06 Objekt-orienterad programmering i Java, 5p distanskurs Uppsala Universitet Instutitionen för informationsteknologi Avdelningen för datalogi Kursansvarig: Sven-Olof Nyström May 2, 2007
Läs merLösningsförslag till tentamen i EDAA01 programmeringsteknik fördjupningkurs
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Lösningsförslag till tentamen i EDAA01 programmeringsteknik fördjupningkurs 2013 12 19 1. a) En samling element där insättning och borttagning
Läs merTentamen, EDAA01 Programmeringsteknik fördjupningskurs
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen, EDAA01 Programmeringsteknik fördjupningskurs 2014 03 10, 8.00 13.00 Anvisningar: Denna tentamen består av 5 uppgifter. Preliminärt
Läs merObjektorienterad Programmering DAT043. Föreläsning 9 12/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 9 12/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Metoden clone() Skapa kopior av existerande objekt. Interface Cloneable Deep vs.
Läs merLösningsförslag till tentamen i EDA690 Algoritmer och Datastrukturer, Helsingborg
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Lösningsförslag till tentamen i EDA690 Algoritmer och Datastrukturer, Helsingborg 2013 12 19 1. a) En samling element där insättning och borttagning
Läs merAlgoritmer och datastrukturer 2012, fo rela sning 8
lgoritmer och datastrukturer 01, fo rela sning 8 Komplexitet för binära sökträd De viktigaste operationerna på binära sökträd är insert, find och remove Tiden det tar att utföra en operation bestäms till
Läs merFöreläsning 4 Datastrukturer (DAT037)
Föreläsning 4 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-10 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat037 Förra
Läs merFöreläsning 2 Datastrukturer (DAT037)
Föreläsning 2 Datastrukturer (DAT037) Fredrik Lindblad 1 1 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037
Läs merFöreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-20 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
Läs merFöreläsning 1. Abstrakta datatyper, listor och effektivitet
Föreläsning 1 Abstrakta datatyper, listor och effektivitet Föreläsning 1 Datastrukturer Abstrakta DataTyper ADT Lista Lista och Java Collections Framework (ArrayList) Lista implementerad med en array Analys
Läs merTentamen, EDAA01 Programmeringsteknik fördjupningskurs
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA01 Programmeringsteknik fördjupningskurs 2015 01 12, 14.00 19.00 Anvisningar: Denna tentamen består av 5 uppgifter. Preliminärt
Läs merDAI2 (TIDAL) + I2 (TKIEK)
TNTMN KURSNMN PROGRM: KURSTKNING XMINTOR lgoritmer och datastrukturer I2 (TIL) + I2 (TKIK) 2017/2018, lp 4 LT75 Uno Holmer TI ÖR TNTMN redagen den 1/8 2018, 08.0-12.0 HJÄLPML NSVRIG LÄRR atastrukturer
Läs merFöreläsning 9 Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT07) Fredrik Lindblad 27 november 207 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/20/course/dat07 Innehåll 2
Läs merTentamen, EDAA01 Programmeringsteknik fördjupningskurs
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA01 Programmeringsteknik fördjupningskurs 2012 12 20, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt
Läs merFöreläsning 7 Datastrukturer (DAT037)
Föreläsning 7 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-21 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Förra
Läs merADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar
Föreläsning 1 Innehåll ADT Prioritetskö Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Klassen PriorityQueue i java.util ar Implementering av prioritetskö med heap Sortering med hjälp
Läs merTENTAMEN: Algoritmer och datastrukturer. Läs detta!
1 (6) TENTAMEN: Algoritmer och datastrukturer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att vi
Läs merProgrammering fortsättningskurs
Programmering fortsättningskurs Philip Larsson 2013 03 09 Innehåll 1 Träd 1 1.1 Binära träd........................................ 1 1.2 Strikt binärt träd..................................... 1 1.3 Binärt
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-10-30 Repetition Analys av tidskomplexitet. Kostnadsmodeller. Asymptotisk komplexitet/notation. Dynamiska arrayer. Amorterad tidskomplexitet
Läs merLösningar Datastrukturer TDA
Lösningar Datastrukturer TDA416 2016 12 21 roblem 1. roblem 2. a) Falskt. Urvalssortering gör alltid samma mängd av jobb. b) Sant. Genom att ha en referens till sista och första elementet, kan man nå både
Läs merFöreläsning 2 Innehåll
Föreläsning 2 Innehåll Java Collections Framework (interface och klasser för samlingar av element) Använda generiska klasser autoboxing - och unboxing Iterera genom en samling element Jämföra element skugga
Läs merÖvning vecka 6. public void method2() { //code block C method3(); //code block D }//method2
Övning vecka 6. TDA550 - Objektorienterad programvaruutveckling IT, fk Denna vecka ska vi titta på undantag, testning, generiska enheter, samlingar och designmönstret Iterator. Uppgift 1 Exceptions a)
Läs merCollection classes. Interface, första exempel. Interface (forts) Men först
Collection Classes Koppling mellan abstraktioner på hög nivå och praktiska och effektiva implementationer av datastrukturer abstraktionerna: naturliga matematiska begrepp mängder, sekvenser avbildningar
Läs merFöreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista Evaluate postfix expressions Läsanvisningar
Läs merListor. Koffman & Wolfgang kapitel 2, avsnitt , och 2.9
Listor Koffman & Wolfgang kapitel 2, avsnitt 2.1 2.3, 2.5 2.6 och 2.9 Figur 2.1, sid 63 java.util.list, med dess implementeringar 2 List och primitiva typer En array kan innehålla primitiva typer: int[],
Läs merTentamen Datastrukturer, DAT037 (DAT036)
Tentamen Datastrukturer, DAT037 (DAT036) Datum, tid och plats för tentamen: 2017-08-17, 8:30 12:30, M. Ansvarig: Fredrik Lindblad. Nås på tel nr. 031-772 2038. Besöker tentamenssalarna ca 9:30 och ca 11:00.
Läs merCollection Classes. bjectorienterad programmering Sida 1
Collection Classes Koppling mellan abstraktioner på hög nivå och praktiska och effektiva implementationer av datastrukturer abstraktionerna: naturliga matematiska begrepp mängder, sekvenser avbildningar
Läs merLösningsförslag till tentamen Datastrukturer, DAT037,
Lösningsförslag till tentamen Datastrukturer, DAT037, 2018-01-10 1. Båda looparna upprepas n gånger. s.pop() tar O(1), eventuellt amorterat. t.add() tar O(log i) för i:te iterationen av första loopen.
Läs merDatastrukturer. föreläsning 6. Maps 1
Datastrukturer föreläsning 6 Maps 1 Avbildningar och lexika Maps 2 Vad är ett lexikon? Namn Telefonnummer Peter 031-405937 Peter 0736-341482 Paul 031-405937 Paul 0737-305459 Hannah 031-405937 Hannah 0730-732100
Läs merJava Collections Framework. Föreläsning 2 Innehåll. Java Collections Framework interface hierarki. Java Collections Framework interface hierarki
Föreläsning 2 Innehåll Java Collections Framework (interface och klasser för samlingar av element) Använda generiska klasser autoboxing - och unboxing Iterera genom en samling element Jämföra element skugga
Läs merTENTAMEN: Algoritmer och datastrukturer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) TENTMEN: lgoritmer och datastrukturer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. örja varje uppgift på ett nytt blad. Skriv inga lösningar i tesen. Skriv ditt idnummer
Läs merF5: Debriefing OU2, repetition av listor, träd och hashtabeller. Carl Nettelblad
F5: Debriefing OU2, repetition av listor, träd och hashtabeller Carl Nettelblad 2017-04-24 Frågor Kommer nog inte att täcka 2 timmar Har ni frågor på OU3, något annat vi har tagit hittills på kursen, listor
Läs merTentamen i Algoritmer & Datastrukturer i Java
Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2007-03-13 Skrivtid: 4 timmar Kontakt person: Nicolina Månsson, tel. 035-167487 Poäng / Betyg:
Läs merFöreläsning 13 Datastrukturer (DAT037)
Föreläsning 13 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-12-14 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Sammanfattning
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-18 Idag Mer om grafer: Minsta uppspännande träd (för oriktade grafer). Prims algoritm. Kruskals algoritm. Djupet först-sökning. Cykel
Läs merObjektorienterad Programkonstruktion
Objektorienterad Programkonstruktion Föreläsning 9 Projektuppgift Collection, Iterator, Composite Christian Smith ccs@kth.se 1 Projektuppgift IM, skickar meddelanden mellan datorer En lite större labbuppgift,
Läs merTentamen i Algoritmer & Datastrukturer i Java
Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2010-03-16 Skrivtid: 4 timmar Kontaktperson: Nicolina Månsson Poäng / Betyg: Max 44 poäng
Läs merFöreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Läs merProgrammering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Läs merÖvning vecka 5. Denna vecka ska vi titta pa samlingar, generics och designmönstren Decorator, Singleton och Iterator.
Övning vecka 5. TDA550 - Objektorienterad programvaruutveckling IT, fk Denna vecka ska vi titta pa samlingar, generics och designmönstren Decorator, Singleton och Iterator. Uppgift 1 Kom ihåg att samlingar
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-13 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
Läs merFöreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna
Föreläsning Innehåll Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Klassen PriorityQueue i java.util Implementering med lista ar Implementering av prioritetskö med heap Sortering
Läs merTENTAMEN: Algoritmer och datastrukturer. Läs detta!
(6) TENTAMEN: Algoritmer och datastrukturer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att vi inte
Läs merFöreläsning 4. Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö Kö (ADT) En kö fungerar som en kö. Man fyller på den längst bak och tömmer den längst fram
Läs merProgrammering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Idag - Hashtabeller - Flerdimensionella arrayer (2D) 2 Repetition -
Läs merAlgoritmer och datastrukturer
Algoritmer och datastrukturer Binära sökträd Hash Tabeller Sökning Många datastukturer försöker uppnå den effektivaste sökningen I arrayer - linjer sökning, och binärt sökning när arrayen kan vara sörterad
Läs merFöreläsning 13 Innehåll
Föreläsning 13 Innehåll Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Heapar Implementering av prioritetskö med heap Klassen PriorityQueue i java.util Programexempel LPT-algoritmen
Läs merDatastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar
Läs merADT Prioritetskö. Föreläsning 12 Innehåll. Prioritetskö. Interface för Prioritetskö. Prioritetsköer och heapar
Föreläsning 1 Innehåll Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Klassen PriorityQueue i java.util Heapar Implementering av prioritetskö med heap Sortering med hjälp av heap
Läs merDatastrukturer och algoritmer
Innehåll Datastrukturer och algoritmer Föreläsning 2 Fält Specifikation, Konstruktion och Specifikation, Konstruktion Dynamiska resurser Länk Länkade celler 25 26 Fält Modell Schackbräde Organisation n-dimensionellt
Läs mer