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

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "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"

Transkript

1 Föreläsning 4 Kö

2 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

3 ADT Kö Grundprinciper: En kö fungerar som en kö. Man fyller på den längst bak och tömmer den längst fram, FIFO - First In First Out. Välanvänd datastruktur (printköer, processköer, ). enqueue(element)-köar element sist dequeue()-tar bort första elementet i kön och returnerar detta Möjliga operationer create() empty() returnerar true om kön är tom front() returnerar första elementet utan att ta bort det size() returnerar antal element i kön

4 Kö JCF: Queue<E> I JCF är kö ett interface Queue<E>. Det använder inte riktigt konventionella namn på metoderna och för varje metod finns en som en som returnerar null eller false om den misslyckas och en som kastar ett exception och som ska användas för köer som inte kan bli fulla (använd inte dessa på systembolagets köer!). add(e e) Inserts the specified element into this queue returning true upon success and throwing an IllegalStateException if no space is currently available. offer(e e) Inserts the specified element into this queue if it is possible to do so immediately without violating capacity restrictions. Returns true or false. remove() Retrieves and removes the head of this queue. Throws NoSuchElementException if this queue is empty. poll() Retrieves and removes the head of this queue, or returns null if this queue is empty. element() Retrieves, but does not remove, the head of this queue. Throws NoSuchElementException if this queue is empty. peek() Retrieves, but does not remove, the head of this queue, or returns null if this queue is empty. Ärver isempty och size och fler som måste implementeras.

5 Att använda en kö i JCF Queue implementeras av bland annat av LinkedList så vi kan vid behov få en kö genom: Queue<string> nameq = new LinkedList<String>; Nu kommer vi bara åt metoderna i interfacet på vår nameq. Dock kan vi fortfarande kasta om vår nameq för att komma åt element: String s= ((LinkedList<String>) nameq).get(2); Vill man undvika detta måste man skapa en ny klass.

6 Kö implementerad med en cirkulär array Att flytta alla element när vi tar bort första elementet blir ineffektivt (O(n)). Cirkulär array (O(1)): front rear Dequeue: front++ Enqueue: rear++ Om rear = maxsize sätt rear = 0 (samma för front) OBS rear får ej komma ifatt front full array - reallocate Enklast men ej nödvändigt är att ha en extra variabel size som håller reda på antal element. Vad ska rear och front ha för startvärden?

7 Steg 1 Vi börjar med följande skal: public class ArrayQueue<E> { private int front, rear, size, maxsize; private E[] data; public ArrayQueue(int initialmaxsize){ size = 0; front = 0; maxsize = initialmaxsize; rear = maxsize-1; data = (E[]) new Object[maxSize]; public boolean offer(e element){ // skriv kod som sätter in elementet, strunta i problemet att arrayen kan bli full return true; //Kompilera och testa att det verkar fungera att sätta in element

8 Lösningsförslag steg 1 public boolean offer(e element){ rear = (rear+1) % maxsize; data[rear] = element; size++; return true;

9 Steg 2 Skriv en peek metod Nu kan du testa att det verkar fungera lite bättre. Skriv sedan en poll metod.

10 Lösningsförslag steg 2 public E peek(){ if(size==0) return null; return data[front]; public E poll(){ if(size==0){ return null; else{ size--; E element = data[front]; front =(front+1) % maxsize; return element;

11 Steg 3 Dags att ta tag i problemet att arrayen kan bli full. Som vanligt dubblar vi den så att alla operationer blir O(1) i snitt. Dock kan vi inte lösa det riktigt lika enkelt som vanligt. Vi måste ta hand om att kön kan ligga över arrayslutet:

12 Lösningsförslag steg 3 private void reallocate() { int newmaxsize = 2 * maxsize; E[] newdata = (E[]) new Object[newMaxSize]; int j = front; for (int i = 0; i < size; i++) { newdata[i] = data[j]; j = (j + 1) % maxsize; front = 0; rear = size - 1; maxsize = newmaxsize; data = newdata; public boolean offer(e element) { if (size == maxsize) { reallocate(); rear = (rear + 1) % maxsize; data[rear] = element; size++; return true;

13 Testkod import java.util.linkedlist; import java.util.queue; public class Test { public static void main(string[] args) { ArrayQueue<String> nameq = new ArrayQueue<String>(10); for(int i=0;i<8;i++) nameq.offer("e"+(i+1)); nameq.poll(); nameq.poll(); for(int i=8;i<14;i++) nameq.offer("e"+(i+1)); while(nameq.peek()!=null) System.out.println(nameQ.poll());

14 Implementera interface Queue Snyggast vore att implementera interface Queue. Vi måste då implementera alla metoder. Viss hjälp kan vi få genom att ärva från AbstractQueue. Det enda lite jobbiga är att vi måste implementera en iterator vilket kanske inte är självklart att man vill ha i en kö.

15 import java.util.abstractqueue; import java.util.iterator; import java.util.nosuchelementexception; import java.util.queue; public class ArrayQueue<E> extends AbstractQueue<E> implements Queue<E> { private int front, rear, size, maxsize; private E[] public ArrayQueue(int initialmaxsize) { size = 0; front = 0; maxsize = initialmaxsize; rear = maxsize - 1; data = (E[]) new public boolean offer(e element) { if (size == maxsize) { reallocate(); rear = (rear + 1) % maxsize; data[rear] = element; size++; return true; public E peek() { if (size == 0) { return null; return data[front]; public E poll() { if (size == 0) { return null; else { size--; E element = data[front]; front = (front + 1) % maxsize; return element;

16 @SuppressWarnings("unchecked") private void reallocate() { int newmaxsize = 2 * maxsize; E[] newdata = (E[]) new Object[newMaxSize]; int j = front; for (int i = 0; i < size; i++) { newdata[i] = data[j]; j = (j + 1) % maxsize; front = 0; rear = size - 1; maxsize = newmaxsize; data = public Iterator<E> iterator() { return new public int size() { return size; private class Iter implements Iterator<E> { private int index; private int count = 0; public Iter() { index = public boolean hasnext() { return count < public E next() { if (!hasnext()) { throw new NoSuchElementException(); E returnvalue = data[index]; index = (index + 1) % maxsize; count++; return public void remove() { //ska endast kunna ta bort det senaste throw new UnsupportedOperationException();

17 Kö implementerad med en länkad lista En länkad lista har fördelen att den alltid har rätt storlek på bekostnad av att den tar större plats pga länkarna. En enkellänkad kö tar lika stor plats som en array kö när denna är fylld till hälften. Att sätta in i kön (sist i listan) är O(n) men det kan man lösa genom att ha en länk till sista elementet (tail). På en dubbellänkad lista är alla operationer O(1) men den tar ännu större plats (tre gånger så stor plats som en full array). Det är alltså svårt att hitta några starka skäl för att använda en länkad lista för att implementera en kö men detta är trots allt vad JCF gör.

18 Läsanvisning och uppgifter KW 4.1, 4.2, 4.3, (4.4) Uppgifter: Jag kommer hädanefter endast lista uppgifter som ger poäng och någon enstaka viktig eller bra uppgift att göra. Se till att ändå gå igenom SC och P uppgifterna när du läser boken och gör de du behöver. (SC Self Check, P Programing, PP Programing Projects, NB se sist i föreläsningen) Avsnitt 4.3: NB 12(1p), 13, 14(2p), 15(2p)

19 Uppgifter NB 12 (1p) I en applikation där kön någon enstaka gång växer sig mycket större än normalt skulle det kunna vara intressant att en array-kö också kan krympa när så är möjligt. Utgå från vår kö på föreläsningen och lägg funktionalitet som halverar storleken på arrayen om den bara använder en fjärdedel av den nuvarande arrayen. Glöm inte att skriva testkod. Fundera också på om detta påverkar någon av operationerna så att de inte längre är O(1).

20 NB 13 Implementera en kö med en enkellänkad lista med en pekare till varje ända av listan så att alla operationer blir O(1). Använd bara bokens exempel om du kör fast.

21 NB 14 (2p) Implementera en Dequeue som en dubbellänkad lista. En dequeue är en kö där man kan sätta in och ta bort element i båda ändar. Den behöver inte implementera något interface och ska endast ha följande operationer: pollfirst, polllast, offerfirst, offerlast och empty. Se avsnitt 4.4 om du undrar över vad de ska göra. Skriv också testkod.

22 NB 15 (2p) Simulering liten flygplats. Denna har endast en landningsbana. simuleringen skall ske i tidssteg om 5 minuter. Det tar 20 minuter att genomföra en landning och lika lång tid att genomföra en start. Plan som behöver landa prioriteras alltid före plan som vill starta (dock får ett plan som påbörjat en start alltid fullfölja). Varje femminuters intervall är det 5 % sannolikhet att ett plan begär att få landa och 5 % sannolikhet att ett plan begär att få starta. Kör en simulering under 10 år och ta reda på medelväntetiden för plan som ska landa och medelväntetiden för plan som ska starta. Ta också reda på maximala väntetiden för ett plan som ska starta och för ett plan som ska landa. För statistikens skull räknar vi med att ett plan som dyker upp under ett intervall dyker upp precis i intervallets slut. Tips: Tanken är då att man använder två köer: ett för plan som ska stanna och ett för plan som ska starta.

Föreläsning 2. Länkad lista och iterator

Föreläsning 2. Länkad lista och iterator Föreläsning 2 Länkad lista och iterator Föreläsning 2 Länkad-lista Lista implementerad med en enkellänkad lista Iterator Implementering av en Iterator Dubbellänkad lista och cirkulär lista LinkedList JCF

Läs mer

Föreläsning 2. Länkad lista och iterator

Föreläsning 2. Länkad lista och iterator Föreläsning 2 Länkad lista och iterator Föreläsning 2 Länkad-lista Lista implementerad med en enkellänkad lista Iterator Implementering av en Iterator Dubbellänkad lista och cirkulär lista LinkedList JCF

Läs mer

Föreläsning 3. Stack

Fö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 mer

Föreläsning 3. Stack

Fö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 mer

Fö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ö 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 mer

Datastrukturer. föreläsning 3. Stacks 1

Datastrukturer. 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 mer

Länkade strukturer. (del 2)

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 mer

TDDC30. 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 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 mer

Lösningsförslag till tentamen i EDA690 Algoritmer och Datastrukturer, Helsingborg

Lö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 mer

Lösningsförslag till tentamen i EDAA01 programmeringsteknik fördjupningkurs

Lö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 mer

Föreläsning 1. Abstrakta datatyper, listor och effektivitet

Fö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 mer

TDDC30 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 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 mer

ADS : STACK ADT: STACK. Stack och Kö -Implementering - Tilllämpningar. Oftast förekommande metoder i Stack. TopOfStack

ADS : 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 mer

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen 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 mer

Föreläsning 2 Datastrukturer (DAT037)

Fö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 mer

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

Fö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 mer

Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.

Abstrakt 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 mer

Generisk klass med typparameter Inre klass - ListIterator

Generisk klass med typparameter Inre klass - ListIterator Objektorienterad programmeringsmetodik Generics, clone Generics Återanvändning Ännu ett sätt att lösa ett gammalt problem: skriva så lite kod som möjligt Vi vill ha metoder som fungerar på olika klasser

Läs mer

Stackar, köer, iteratorer och paket

Stackar, 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 mer

2. Palindrom. Exempel: 1,2,3,2,1 är ett palindrom, och även 0, men inte 1,2,3,1,2,3.

2. Palindrom. Exempel: 1,2,3,2,1 är ett palindrom, och även 0, men inte 1,2,3,1,2,3. LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, 491000, 073-820 1700 Resultatet offentliggörs senast: 2011-04-02. Tillåtna

Läs mer

Föreläsning 7. Träd och binära sökträd

Föreläsning 7. Träd och binära sökträd Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Läsanvisningar och

Läs mer

Föreläsning 4 Datastrukturer (DAT037)

Fö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 mer

Övning vecka 6. public void method2() { //code block C method3(); //code block D }//method2

Ö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 mer

Länkade strukturer, parametriserade typer och undantag

Lä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 mer

Föreläsning 10. ADT:er och datastrukturer

Föreläsning 10. ADT:er och datastrukturer Föreläsning 10 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 mer

! Skall den vara generisk? ! Skall den vara självexpanderande? ! Skall vi ha en speciell klass för listnoder? ! osv

! Skall den vara generisk? ! Skall den vara självexpanderande? ! Skall vi ha en speciell klass för listnoder? ! osv F 4 En abstrakt idé ordnad sekvens Läsanvisning: kap 2.1-2.3 Idag handlar det främst om listor implementerade med fält jmf Javas ArrayList ett interfacet för sekvenser (List) implementation av sekvenser!

Läs mer

Lösningsförslag till tentamen i OOP, HI1027 Fredag 21 oktober 2011

Lösningsförslag till tentamen i OOP, HI1027 Fredag 21 oktober 2011 Lösningsförslag till tentamen i OOP, HI1027 Fredag 21 oktober 2011 Text inom [] avser kommentarer till rättningen, ofta sådant som många missuppfattat eller gjort fel på. Del A. Teoriuppgifter 1. Återanvändning:

Läs mer

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet

Tommy Färnqvist, IDA, Linköpings universitet Föreläsning 9 Pekare, länkade noder, länkade listor TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 25 september 2015 Tommy Färnqvist, IDA, Linköpings

Läs mer

Kurskod D0010E Datum 2012-05-15 Skrivtid 5tim

Kurskod D0010E Datum 2012-05-15 Skrivtid 5tim LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, 491000, 073-820 1700 Resultatet o entliggörs senast: 2012-05-29. Tillåtna

Läs mer

Föreläsning 11. ADT:er och datastrukturer

Fö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 mer

Laboration 13, Arrayer och objekt

Laboration 13, Arrayer och objekt Laboration 13, Arrayer och objekt Avsikten med denna laboration är att du ska träna på att använda arrayer. Skapa paketet laboration13 i ditt laborationsprojekt innan du fortsätter med laborationen. Uppgift

Läs mer

Föreläsning 3 Datastrukturer (DAT037)

Fö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 mer

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen 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 mer

Algoritmer och datastrukturer. HI1029 8,0 hp Föreläsning 1

Algoritmer och datastrukturer. HI1029 8,0 hp Föreläsning 1 Algoritmer och datastrukturer HI1029 8,0 hp Föreläsning 1 Föreläsning 1 Välkomna! - Presentation av kursen (Kurs-PM) Datastrukturer Abstrakta DataTyper ADT Lista Lista och Java Collections Framework (ArrayList)

Läs mer

Tentamen Programmeringsteknik II Inledning. Anmälningskod:

Tentamen Programmeringsteknik II Inledning. Anmälningskod: Tentamen Programmeringsteknik II 2016-01-11 Inledning I bilagan finns ett antal mer eller mindre ofullständiga klasser. Några ingår i en hierarki: List, SortedList, SplayList och ListSet enligt vidstående

Läs mer

Seminarium 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. 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 mer

Dugga Datastrukturer (DAT036)

Dugga Datastrukturer (DAT036) Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre

Läs mer

Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.

Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper. Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något

Läs mer

Laboration A Objektsamlingar

Laboration A Objektsamlingar Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se

Läs mer

Kap J 7-1 Mer om arv. (superklass) (subklass)

Kap J 7-1 Mer om arv. (superklass) (subklass) Mer om arv. Kap J7-1 I Java självt är arv frekvent förekommande. Två exempel är exceptions och components (awt). Arv bygger normalt på en IS-A-relation. Button IS-A Component. NullPointerException IS-A

Läs mer

ADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar

ADT 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 mer

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004 Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag

Läs mer

Föreläsning 7. Träd och binära sökträd

Föreläsning 7. Träd och binära sökträd Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Det är extra mycket

Läs mer

Föreläsning 3-4 Innehåll

Föreläsning 3-4 Innehåll Föreläsning 3-4 Innehåll Listor, stackar, köer Abstrakta datatypen lista listklasser i Java, egen implementering Datastrukturen enkellänkad lista Jämföra element metoden equals, interfacet Comparable Abstrakta

Läs mer

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen i Algoritmer & Datastrukturer i Java Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2008-05-27 Skrivtid: 4 timmar Kontakt person: Nicolina Månsson, tel. 035-167487 Poäng / Betyg:

Läs mer

Föreläsning Datastrukturer (DAT036)

Fö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 mer

public static void mystery(int n) { if (n > 0){ mystery(n-1); System.out.print(n * 4); mystery(n-1); } }

public static void mystery(int n) { if (n > 0){ mystery(n-1); System.out.print(n * 4); mystery(n-1); } } Rekursion 25 7 Rekursion Tema: Rekursiva algoritmer. Litteratur: Avsnitt 5.1 5.5 (7.1 7.5 i gamla upplagan) samt i bilderna från föreläsning 6. U 59. Man kan definiera potensfunktionen x n (n heltal 0)

Läs mer

ADT Prioritetskö. Föreläsning 12 Innehåll. Prioritetskö. Interface för Prioritetskö. Prioritetsköer och heapar

ADT 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 mer

Tentamen i Algoritmer & Datastrukturer i Java

Tentamen i Algoritmer & Datastrukturer i Java Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2011-03-15 Skrivtid: 4 timmar Kontakt person: Mattias Wecksten 7396 Poäng / Betyg: Max poäng

Läs mer

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2012-09-01 Skrivtid: 0900-1200 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public

Läs mer

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

Abstrakta 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 mer

Stack, specifikation. Stack och Kö. Y s t M A p. Stack. <== > Y s t M A p <== > Prioritetskö

Stack, specifikation. Stack och Kö. Y s t M A p. Stack. <== > Y s t M A p <== > Prioritetskö Stack < == > Stack och Kö Y s t M A p 1 Stack, specifikation En lista med element av typen T. Samtliga operationer utförs endast på listans ena ände, top. Stack() post: stacken är tom 2 Kö == > Y s t M

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Prioritetskö Heap Representation som

Läs mer

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016 Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Tentamen Programmeringsteknik II

Tentamen Programmeringsteknik II Tentamen Programmeringsteknik II 205-0-23 Inledning I bilagan finns ett antal mer eller mindre ofullständiga klasser. Några ingår i en hierarki: BasicList, List, SortedList och Queue enligt vidstående

Läs mer

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1

Läs mer

Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag

Läs mer

Samlingar Collection classes

Samlingar 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 mer

Programmering i C++ EDA623 Dynamiska datastrukturer. EDA623 (Föreläsning 11) HT / 31

Programmering i C++ EDA623 Dynamiska datastrukturer. EDA623 (Föreläsning 11) HT / 31 Programmering i C++ EDA623 Dynamiska datastrukturer EDA623 (Föreläsning 11) HT 2013 1 / 31 Dynamiska datastrukturer Innehåll Länkade listor Stackar Köer Träd EDA623 (Föreläsning 11) HT 2013 2 / 31 Länkade

Läs mer

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt

Läs mer

Föreläsning 3 Innehåll. Generiska klasser. Icke-generisk lista ArrayList, skiss av implementering. Icke-generisk lista Risk för fel

Föreläsning 3 Innehåll. Generiska klasser. Icke-generisk lista ArrayList, skiss av implementering. Icke-generisk lista Risk för fel Föreläsning 3 Innehåll Generiska klasser Implementera generiska klasser Exceptions Dokumentationekommentarer javadoc Enhetstestning - junit Man kan deklarera en eller flera typparametrar när man definierar

Läs mer

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Lösningsförslag, tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och

Läs mer

13 Prioritetsköer, heapar

13 Prioritetsköer, heapar Prioritetsköer, heapar 31 13 Prioritetsköer, heapar U 101. En prioritetskö är en samling element där varje element har en prioritet (som används för att jämföra elementen med). Elementen plockas ut i prioritetsordning

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5 TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5 Pelle Evensen & Daniel Wetterbro 20 oktober 2011 Sammanfattning Denna vecka ska vi titta på samlingar, generics och designmönstren

Läs mer

Datastrukturer och algoritmer. Föreläsning 4 Test, Stack och Kö

Datastrukturer och algoritmer. Föreläsning 4 Test, Stack och Kö Datastrukturer och algoritmer Föreläsning 4 Test, Stack och Kö 1 Innehåll Test Datatyperna Stack och kö Specifikation och Gränssnitt Konstruktion Tillämpning 2 Testa VIKTIGT! Test går att göra under många

Läs mer

Föreläsning 8. Mängd, Avbildning, Hashtabell

Föreläsning 8. Mängd, Avbildning, Hashtabell Föreläsning 8 Mängd, Avbildning, Hashtabell Föreläsning 8 Mängd (Set) Avbildning (Map) Hashtabeller Hashkoder Öppen adressering Länkning Effektivitet och minneskrav Implementering Läsanvisning och uppgifter

Läs mer

Tentamen LÖSNINGSFÖRSLAG. c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt.

Tentamen LÖSNINGSFÖRSLAG. c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt. Tentamen 101213 - LÖSNINGSFÖRSLAG Uppgift 1. a) Ger utskriften c( ) in D b) Ger utskriften true c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt. d) Ger utskriften b( )

Läs mer

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Moduler Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Vi har också ofta behov av att skapa överblick i våra program. Som ett

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

Läs mer

Föreläsning 9 Innehåll

Fö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 mer

Föreläsning 12: Exempel och problemlösning

Föreläsning 12: Exempel och problemlösning TDA 545: Objektorienterad programmering Föreläsning 12: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Problemlösning, dvs hur man ska tänka för att hitta lösning int mängd/set

Läs mer

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0.. Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private

Läs mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

Instuderingsuppgifter läsvecka 6 - LÖSNINGAR

Instuderingsuppgifter läsvecka 6 - LÖSNINGAR Instuderingsuppgifter läsvecka 6 - LÖSNINGAR 1. 2. Om vi använder interfacet List behöver vi inte bry oss om den konkret implementation som används, därför kan implementationen bytas ut genom att endast

Läs mer

JAVAUTVECKLING LEKTION 8

JAVAUTVECKLING LEKTION 8 JAVAUTVECKLING LEKTION 8 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Fält (Arrayer) Att skapa och arbeta med fält Indexering Jämförelse av fält Flerdimensionella fält 1 VAD

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

Seminarium 13 Innehåll

Seminarium 13 Innehåll Seminarium 13 Innehåll Prioritetsköer och heapar Prioritetsköer ADTn Klassen PriorityQueue i java.util Implementering med lista Heapar ADTn För implementering av prioritetskö För sortering Efter seminariet

Läs mer

Tentamen Objekt-orienterad programmering i Java, 5p distanskurs

Tentamen 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 mer

Abstrakta datastrukturer

Abstrakta datastrukturer Föreläsning 2 Datastrukturer Abstrakta datastrukturer Stack Stack implementerad med array Länkad lista Stack implementerad med länkad lista Inlämningsuppgifter Datastrukturer En datastruktur är en struktur

Läs mer

Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2002

Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2002 Pedher Johansson Institutionen för datavetenskap LÖSNINGSFÖRSLAG Lösningsförslag Tentamen Programmeringsmetodik, KV: Java och OOP 17 januari 2002 Uppgift 1 (20 p) Teoriuppgifter Resultat och uppgifter

Läs mer

Tentamen. Lösningsförslag

Tentamen. Lösningsförslag Sida 1/8 Tentamen Grundläggande programmering i Java A 5p, DTAA32 2002-03-22 Lösningsförslag Uppgift 1 ( 3p ) Utskriften blir: Skriv in ett tal 24 47 48 intal=471 Uppgift 2 ( 6p ) a.) b.) c.) d.) e.) falskt

Läs mer

Datastrukturer och algoritmer

Datastrukturer 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 23 24 Konstruktion av Fält Fysisk datatyp i

Läs mer

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av

Läs mer

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Fö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 mer

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet

Hitta 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 mer

TENTAMEN: Objektorienterad programmering. Läs detta! Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen.

TENTAMEN: Objektorienterad programmering. Läs detta! Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen. 1 (9) TENTAMEN: Objektorienterad programmering Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad. Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen. Ordna bladen i uppgiftsordning.

Läs mer

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap. Institutionen för Datavetenskap Göteborgs universitet HT2008 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 4 Exempel på listor (klassen ArrayList). Ett exempel med fält.

Läs mer

Lösningsförslag till tentamen FYTA11 Javaprogrammering

Lösningsförslag till tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Teoretisk Fysik HT 08 Lösningsförslag till tentamen FYTA11 Javaprogrammering Fredag 9:e januari 2009, 09:00 13:00 Uppgift 1: Leta buggar Titta på klasserna A,

Läs mer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

Läs mer

Tentamen i Objektorienterad programmering

Tentamen i Objektorienterad programmering CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar

Läs mer

PROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

PROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 DSV SU/KTH sid 1 (6) PROG2 PROG2 Tenta 2014-05-02 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst

Läs mer

Länkade listor, stackar och köer

Länkade listor, stackar och köer Länkade listor, stackar och köer I fortsättningen ska vi ta upp några olika abstrakta datatyper. De kan ses som enkla verktyg i en verktygslåda som ska göra det lättare att programmera. Några av dessa

Läs mer

Generiska datatyper. Parametrisk Polymorfism: Generics. Generisk lista. Utvikning: Typer

Generiska datatyper. Parametrisk Polymorfism: Generics. Generisk lista. Utvikning: Typer Generiska datatyper Parametrisk Polymorfism: Generics Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 9 december 2010 Hittills har vi sett att klasser och interface definierar nya typer som kan användas

Läs mer

LULEÅ TEKNISKA UNIVERSITET

LULEÅ TEKNISKA UNIVERSITET LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, Andrey Kruglyak, 491000 Resultatet offentliggörs senast: 2010-04-09. Tillåtna

Läs mer