FÖRELÄSNING 12 DATALOGI I

Storlek: px
Starta visningen från sidan:

Download "FÖRELÄSNING 12 DATALOGI I"

Transkript

1 Föreläsning 12 2I FÖRELÄSNING 12 DATALOGI I Sortering Beatrice Åkerblom beatrice@dsv.su.se Institutionen för Data- och Systemvetenskap SU/KTH

2 Föreläsning 12 2I Läsanvisningar Michael Main Data Structures & Other Objects Using Java (Upplaga: Second Edition), Addison Wesley, 2003, ISBN : Sortering kapitel 12

3 Föreläsning 12 2I Olika sorteringsalgoritmer Selection Sort Insertion Sort Merge Sort Quick Sort Att sortera objekt Generella sorteringsmetoder Något om Generics i Java Föreläsningens innehåll

4 Föreläsning 12 2I Exempel Vi har en array med heltal som ska sorteras int[]test = new int[15]; // Arrayen fylls med värden Sorteringen utförs i en metod som får arrayen som ska sorteras som argument: void selectionsort(int[]arr){ // metodens kropp int-arrayer av olika längd kan skickas till metoden! Var lägger vi metoden selectionsort??

5 Föreläsning 12 2I Exempel, forts. Vi skapar en klass som innehåller de olika sorteringsmetoderna: class Sort{ public static void selectionsort(int[]arr){ // Metod-kroppen public static void insertionsort(int[]arr){ // Metod-kroppen Då metoderna är statiska kan vi smidigt anropa dem: int[]test = new int[100]; // Arrayen fylls med värden Sort.selectionSort(test);

6 Föreläsning 12 2I Selection sort Leta upp minsta värdet Byt plats på minsta och första Första rutan är sorterad Leta upp minsta i resten av arrayen Byt med första osorterade Fortsätt på samma sätt med resten

7 Föreläsning 12 2I Selection sort void selectionsort(int[]arr){ for (int x=0; x<arr.length-1; x++){ int min=x; for (int y=x+1; y<arr.length; y++) if (arr[y]<arr[min]) min=y; int temp=arr[x]; arr[x]=arr[min]; arr[min]=temp;

8 Föreläsning 12 2I Insertion sort Den första rutan är sorterad Tag den andra, lägg in den på rätt plats Tag den tredje, lägg in den på rätt plats Tag den fjärde, lägg in den på rätt plats Fortsätt tills alla blivit insorterade

9 Föreläsning 12 2I Insertion sort void insertionsort(int[]arr){ for (int x=1; x<arr.length; x++){ int temp=arr[x], y=x; while (y>0 && arr[y-1]>temp){ arr[y]=arr[y-1]; y--; arr[y]=temp;

10 Föreläsning 12 2I Merge sort Dela upp arryen i två (lika stora) delar: Sortera varje del Slå ihop (merge) de två sorterade subarrayerna

11 Föreläsning 12 2I Merge sort

12 Föreläsning 12 2I Merge sort void mergesort(int[]arr, int start, int stopp){ if (start<stopp){ int mitt=(start+stopp)/2; mergesort(arr, start, mitt); mergesort(arr, mitt+1, stopp); merge(arr, start, mitt, mitt+1, stopp);

13 Föreläsning 12 2I Merge sort void merge(int[]arr, int start1, int stopp1, int start2, int stopp2){ int[]sub1=new int[stopp1-start1+1], sub2=new int[stopp2-start2+1]; System.arraycopy(arr, start1, sub1, 0, sub1.length); System.arraycopy(arr, start2, sub2, 0, sub2.length); int s1=0, s2=0, a=start1; while (s1<sub1.length && s2<sub2.length) if (sub1[s1]<sub2[s2]) arr[a++]=sub1[s1++]; else arr[a++]=sub2[s2++]; while (s1<sub1.length) arr[a++]=sub1[s1++]; while (s2<sub2.length) arr[a++]=sub2[s2++];

14 Föreläsning 12 2I Merge sort i klassen Sort, version I class Sort{ public static void mergesort(int[]arr, int start, int stopp){ //Metod-kroppen private static void merge(int[]arr, int start1, int stopp1, int start2, int stopp2){ //Metod-kroppen Anropet blir då: int[]test = new int[100]; //Arrayen fylls med värden Sort.mergeSort(test, 0, test.length-1);

15 Föreläsning 12 2I Merge sort i klassen Sort, version II class Sort{ public static void mergesort(int[]arr){ mergesort(arr, 0, arr.length-1); public static void mergesort(int[]arr, int start, int stopp){ //Metod-kroppen private static void merge(int[]arr, int start1, int stopp1, int start2, int stopp2){ //Metod-kroppen Anropet blir då: int[]test = new int[100]; //Arrayen fylls med värden Sort.mergeSort(test);

16 Föreläsning 12 2I Quick sort Välj ett mittvärde (pivot-punkt), t. ex. första värdet Lägg alla mindre än pivot-värdet i början, större på slutet Pivot-värdet ligger på rätt plats Sortera de mindre samt sortera de större Och voilà - den är sorterad!

17 Föreläsning 12 2I Quick sort

18 Föreläsning 12 2I Quick sort void quicksort(int[]arr, int start, int stopp){ if (start<stopp){ int pivot=delaupp(arr,start,stopp); quicksort(arr,start,pivot-1); quicksort(arr,pivot+1,stopp);

19 Föreläsning 12 2I Quick sort int delaupp(int[]arr, int start, int stopp){ int pivotvalue=arr[start]; int pivot=start; for (int x=start+1; x<=stopp; x++) if (arr[x]<pivotvalue){ int temp=arr[x]; arr[x]=arr[++pivot]; arr[pivot]=temp; arr[start]=arr[pivot]; arr[pivot]=pivotvalue; return pivot;

20 Föreläsning 12 2I Mer om sortering mergesort & quicksort snabbare än selectionsort & insertionsort Om arrayen redan är sorterad - insertionsort snabbast mergesort & quicksort s.k. Divide-and-Conquer algoritmer (Dela upp i två delar, Besegra (här sortera) de två delarna rekursivt) mergesort skapar två delarrayer dit värden måste kopieras. Detta kostar utrymme + tid varför quicksort räknas som snabbast mergesort & quicksort kan snabbas upp genom att om intervallet som skall sorteras är mindre än 7 stort - använd insertionsort quicksort - valet av pivot-värde flaskhals. En variant är att ta medianen av första, sista och mittersta värdet.

21 Föreläsning 12 2I Sortera objekt Hittills har int-arrayer används (för enkelhets skull). Om man vill sortera en array med objekt då?? class Hund{ private String namn; private int age, vikt; public Hund(String n, int a, int v){ namn=n; age=a; vikt=v; public String getnamn(){ return namn; public int getage(){ return age;

22 Föreläsning 12 2I Sortera hund-objekt Sortera en array med Hund-objekt ( Hund[] ) i åldersordning, yngsta hunden först: void selectionsort(hund[]arr){ for (int x=0; x<arr.length-1; x++){ int min=x; for (int y=x+1; y<arr.length; y++) if (arr[y].getage()<arr[min].getage()) min=y; Hund temp=arr[x]; arr[x]=arr[min]; arr[min]=temp;

23 Föreläsning 12 2I Sortera hund-objekt Sortera en array med Hund-objekt ( Hund[] ) i bokstavsordning med avseende på hundarnas namn: void selectionsort(hund[]arr){ for (int x=0; x<arr.length-1; x++){ int min=x; for (int y=x+1; y<arr.length; y++) if (arr[y].getnamn().compareto(arr[min].getnamn())<0) min=y; Hund temp=arr[x]; arr[x]=arr[min]; arr[min]=temp;

24 Föreläsning 12 2I Sortera vad som helst En generell sorteringsmetod, gäller för vilka objekt som helst! void selectionsort(object[]arr){ for (int x=0; x<arr.length-1; x++){ int min=x; for (int y=x+1; y<arr.length; y++) if (arr[y].??? <arr[min].??? ) min=y; Object temp=arr[x]; arr[x]=arr[min]; arr[min]=temp; Hur ska vi kunna jämföra två objekt - vi vet ju INTE vilken sorts objekt det är? Ibland hundar, en annan gång bilar... Vi måste skicka en jämförelse-metod till sorteringsmetoden

25 Föreläsning 12 2I Sortera vad som helst Det vi i Java kan skicka är ett objekt. Detta objekt måste då innehålla metoden som jämför två objekt (t ex två Hundar). Hur kan vi få kompilatorn att fatta detta? Jo vi tvingar det objekt som skall skickas till sorteringsmetoden att implementera gränssnittet (interfacet) Comparator. I java.util-delbiblioteket finns: interface Comparator{ public int compare(object o1, Objekt o2); //Om o1 < o2 returneras ett negativt tal //Om o1 och o2 är lika returneras noll //om o1 > o2 returneras ett positivt tal

26 Föreläsning 12 2I Comparator Vi ser nu till att ta emot ett Comparator-objekt i vår sorteringsmetod. I detta objekt VET vi nu att metoden compare finns och att den anger sorteringsordningen. Vår generella selectionsort: (OBS överst: import java.util.*; ) void selectionsort(object[]arr; Comparator comp){ for (int x=0; x<arr.length-1; x++){ int min=x; for (int y=x+1; y<arr.length; y++) if (comp.compare(arr[y], arr[min])<0) min=y; Object temp=arr[x]; arr[x]=arr[min]; arr[min]=temp;

27 Föreläsning 12 2I Sortera hund-objekt igen Om vi till exempel vill sortera ett antal hundar i åldersordning: class HundSort implements Comparator{ public int compare(object o1, Object o2){ Hund h1=(hund)o1, h2=(hund)o2; int tal=h1.getage()-h2.getage(); return tal; ---- Hund[]alla = new Hund[100]; //Arrayen fylls med Hund-objekt HundSort hs = new HundSort(); Sort.selectionSort(alla, hs); //alternativt: Sort.selectionSort(alla, new HundSort());

28 Föreläsning 12 2I Sortera bil-objekt Vi har Bilar som bland annat har årsmodell och pris. Vi vill sortera bilarna i första hand på årsmodell, i andra hand på pris. class Bil{ private int year, pris; public int getyear(){ return year; public int getpris(){ return pris; class HurSorteraBilar implements Comparator{ public int compare(object o1, Object o2){ Bil b1=(bil)o1, b2=(bil)o2; int tal=b1.getyear()-b2.getyear(); if (tal==0) return b1.getpris()-b2.getpris(); else return tal;

29 Föreläsning 12 2I Sortera bil-objekt, forts. Bil[]allaBilar = new Bil[10000]; //Arrayen fylls med bilar Sort.selectionSort(allaBilar, new HurSorteraBilar());

Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.

Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning. Programmering för Språkteknologer II Markus Saers markus.saers@lingfil.uu.se Rum -040 stp.lingfil.uu.se/~markuss/ht0/pst Innehåll Associativa datastrukturer Hashtabeller Sökträd Implementationsdetaljer

Läs mer

SORTERING OCH SÖKNING

SORTERING OCH SÖKNING Algoritmer och Datastrukturer Kary FRÄMLING Kap. 9, Sid 1 C-språket 2/Kary Främling v2000 och Göran Pulkkis v2003 SORTERING OCH SÖKNING Sortering är ett av de bästa exemplen på problem där valet av lösningsalgoritm

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 11 Datastrukturer (DAT037)

Föreläsning 11 Datastrukturer (DAT037) Föreläsning 11 Datastrukturer (DAT037) Fredrik Lindblad 1 4 december 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 mer

Föreläsning 11 Innehåll

Föreläsning 11 Innehåll Föreläsning 11 Innehåll Sortering O(n 2 )-algoritmer: urvalssortering insättningssortering O(n log n)-algoritmer: Mergesort Quicksort Heapsort behandlades i samband med prioritetsköer. Undervisningsmoment:

Läs mer

Föreläsning 12 Innehåll

Föreläsning 12 Innehåll Föreläsning 12 Innehåll Sortering O(n 2 )-algoritmer: urvalssortering insättningssortering O(n log n)-algoritmer: Mergesort Quicksort Datavetenskap (LTH) Föreläsning 12 HT 2017 1 / 38 Sortering Varför

Läs mer

Föreläsning 12 Innehåll

Föreläsning 12 Innehåll Föreläsning 12 Innehåll Sortering O(n 2 )-algoritmer: urvalssortering insättningssortering O(n log n)-algoritmer: Mergesort Quicksort Datavetenskap (LTH) Föreläsning 12 VT 2018 1 / 40 Sortering Varför

Läs mer

Datastrukturer D. Föreläsning 2

Datastrukturer D. Föreläsning 2 Datastrukturer D Föreläsning 2 Jämförelse mellan olika sorteringsalgoritmer n Selection sort T(n) Insertion sort T(n) 2 1 1 1 Merge sort T(n) 4 6 3-6 4-5 8 28 7-28 12-17 16 120 15-120 32-49 Analysis of

Läs mer

Föreläsning 11 Innehåll. Sortering. Sortering i Java. Sortering i Java Comparable. Sortering. O(n 2 )-algoritmer: urvalssortering insättningssortering

Föreläsning 11 Innehåll. Sortering. Sortering i Java. Sortering i Java Comparable. Sortering. O(n 2 )-algoritmer: urvalssortering insättningssortering Föreläsning 11 Innehåll Sortering O(n 2 )-algoritmer: urvalsering insättningsering O(n log n)-algoritmer: Merge Quick Heap behandlades i samband med prioritetsköer. Undervisningsmoment: föreläsning 11,

Läs mer

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm. Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills

Läs mer

Sortering. Föreläsning 12 Innehåll. Sortering i Java. Sortering i Java Exempel. Sortering

Sortering. Föreläsning 12 Innehåll. Sortering i Java. Sortering i Java Exempel. Sortering Föreläsning 12 Innehåll Sortering Sortering O(n 2 )-algoritmer: urvalsering insättningsering O(n log n)-algoritmer: Merge Quick Varför era? För att göra sökning effektivare. För att förenkla vissa algoritmer.

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 6 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 6 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Sortering Selectionsort, Bubblesort,

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym

Läs mer

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander F9 - Polymorfism ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Polymorfism - flerformighet Vi vet vad metoden heter (signaturen) Men vi vet inte vid anropet exakt vilken metod som faktiskt

Läs mer

Tentamen OOP 2015-03-14

Tentamen OOP 2015-03-14 Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning

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

Föreläsning 9. Sortering

Föreläsning 9. Sortering Föreläsning 9 Sortering Föreläsning 9 Sortering Sortering och Java API Urvalssortering Instickssortering Söndra och härska Shellsort Mergesort Heapsort Quicksort Bucketsort Radixsort Läsanvisningar och

Läs mer

OOP Omtenta 2011-03-05 10.00 15.00

OOP Omtenta 2011-03-05 10.00 15.00 Stockholms universitet 1 (6) OOP OOP Omtenta 2011-03-05 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

FÖRELÄSNING 11 DATALOGI I

FÖRELÄSNING 11 DATALOGI I Föreläsning I07 FÖRELÄSNING DATALOGI I Grafer Beatrice Åkerblom beatrice@dsv.su.se Institutionen för Data- och Systemvetenskap SU/KTH Föreläsning I07 Läsanvisningar Michael Main Data Structures & Other

Läs mer

Sökning och sortering

Sökning och sortering Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling

Läs mer

Programexempel: tärningsspel

Programexempel: tärningsspel Programexempel: tärningsspel Skriv ett program som låter en användare spela detta tärningsspel: Spelaren gör första tärningsslaget och får samma poäng som tärningen visar. Sedan fortsätter spelet enligt

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

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :

Läs mer

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F4:1 OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder Metoder - subrutiner OOP F4:2 Kod som utför en viss operation. Ligger i olika klasser och anropas via operatorn.

Läs mer

Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2

Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2 Objektorienterad programmering E Algoritmer Linjär sökning Binär sökning Tidsuppskattningar Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk; dess syntax och semantik, bibliotek

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

Mera om generik. Innehåll. Generik och arv Wildcards Vektorer och generik Generiska metoder. EDA690 (Mera om generik) HT 2013 1 / 24

Mera om generik. Innehåll. Generik och arv Wildcards Vektorer och generik Generiska metoder. EDA690 (Mera om generik) HT 2013 1 / 24 Mera om generik Innehåll Generik och arv Wildcards Vektorer och generik Generiska metoder EDA690 (Mera om generik) HT 2013 1 / 24 Begreppet subtyp/supertyp i Java Supertyper för en viss klass C är alla

Läs mer

OOP Tentamen

OOP Tentamen DVS SU/KTH 1 (6) OOP OOP Tentamen 2010-01-15 15.00 20.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Skriv namn och personnummer på varje inlämnat blad. Påbörja varje ny uppgift på nytt blad. Skriv

Läs mer

Föreläsning 5: Rekursion

Föreläsning 5: Rekursion Föreläsning 5: Rekursion Vi har tidigare sett att man kan dela upp problem i mindre bitar med hjälp av underprogram, vilket är ett utmärkt sätt att lösa problem. Detta är ganska lätt att rita upp för sig

Läs mer

Rekursion: varför? Problem delas upp i mindre bitar algoritm för att lösa problemet erhålls från problemformuleringen

Rekursion: varför? Problem delas upp i mindre bitar algoritm för att lösa problemet erhålls från problemformuleringen Rekursion: varför Problem delas upp i mindre bitar algoritm för att lösa problemet erhålls från problemformuleringen Exempel på problem som kan lösas med rekursion: Beräkningar, t.ex. upphöjt, Fibonacci-tal,

Läs mer

OOP Omtenta

OOP Omtenta DVS SU/KTH 1 (6) OOP OOP Omtenta 2008-02-16 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 GKOOP-distans Anvisningar Skriv namn och personnummer på varje inlämnat blad. Påbörja varje ny uppgift på

Läs mer

Algoritmer. Två gränssnitt

Algoritmer. Två gränssnitt Objektorienterad programmering E Algoritmer Sökning Linjär sökning Binär sökning Tidsuppskattningar Sortering Insättningssortering Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk;

Läs mer

Lösningar för tenta 3 DAT043,

Lösningar för tenta 3 DAT043, Lösningar för tenta 3 DAT043, 2018-08-22. Uppgift 1 class Person{ public String förnamn; public String efternamn; public int ålder; private double längd; private double vikt; public Person(String förnamn,

Läs mer

Programmering 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. 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

Lathund, procent med bråk, åk 8

Lathund, procent med bråk, åk 8 Lathund, procent med bråk, åk 8 Procent betyder hundradel, men man kan också säga en av hundra. Ni ska kunna omvandla mellan bråkform, decimalform och procentform. Nedan kan ni se några omvandlingar. Bråkform

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

ID1020: Quicksort. Dr. Jim Dowling jdowling@kth.se. kap 2.3. Slides adapted from Algoritms 4 th Edition, Sedgewick.

ID1020: Quicksort. Dr. Jim Dowling jdowling@kth.se. kap 2.3. Slides adapted from Algoritms 4 th Edition, Sedgewick. ID1020: Quicksort Dr. Jim Dowling jdowling@kth.se kap 2.3 Slides adapted from Algoritms 4 th Edition, Sedgewick. Quicksort Grundläggande metod. - Blanda array:n. - Partitioner så att för något värde j

Läs mer

Distribuerade system. CORBA eller RMI

Distribuerade system. CORBA eller RMI Distribuerade system Java XII - 1 CORBA eller RMI Java XII - 2 Några motiv till distribuerade system kan vara att: Utjämna belastningen mellan olika maskiner i ett nätverk Utnyttja kapaciteten i en större

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

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade.

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade. Sortering Den sorteringsalgoritm som vi använder oss kallas selection sort (urvalssortering) och är en av många existerande sorteringsalgoritmer. Dess funktionssätt beskrivs kanske bäst genom ett konkret

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

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

PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

PROG2 Tenta 2013-06-07 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 DSV SU/KTH sid 1 (6) PROG2 VT13 PROG2 Tenta 2013-06-07 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

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 bänken.

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 bänken. Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 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 Tenta

OOP Tenta Stockholms universitet 1 (6) OOP OOP Tenta 2011-01-14 16.00 21.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Tentamen Datastrukturer D DAT 036/DIT960

Tentamen Datastrukturer D DAT 036/DIT960 Tentamen Datastrukturer D DAT 036/DIT960 17 december 2010 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 0736-341480 eller ankn 1035 Max poäng på tentamen: 60. Betygsgränser, CTH: 3 = 24 p, 4 = 36 p, 5 =

Läs mer

Programmering för språkteknologer II. OH-serie: Sökning och sortering. Algoritm

Programmering för språkteknologer II. OH-serie: Sökning och sortering. Algoritm Programmering för språkteknologer II OH-serie: Sökning och sortering Mats Dahllöf Sökning och sortering Sökning: lokalisera objekt i samlingar. Finns ett visst värde? I så fall: var? Sortering: placera

Läs mer

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta

Läs mer

Datastrukturer. föreläsning 2

Datastrukturer. föreläsning 2 Datastrukturer föreläsning 2 1 De som vill ha en labkamrat möts här framme i pausen Övningsgrupper: efternamn som börjar på A-J: EC, Arnar Birgisson K-Ö: ED, Staffan Björnesjö 2 Förra gången Vi jämförde

Läs mer

Föreläsning REPETITION & EXTENTA

Föreläsning REPETITION & EXTENTA Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

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

DAT043 - föreläsning 8

DAT043 - föreläsning 8 DAT043 - föreläsning 8 Paket, generics, Java collections framework 2017-02-07 Paket och tillgänglighet Ovanför klasser finns en hierarkisk namespace med paket. Filer som inte deklareras i något paket finns

Läs mer

Arrayer (fält)

Arrayer (fält) Arrayer (fält) 1 Vad kommer vi att ta upp om arrayer? Deklarera och initiera arrayen Lägga till i arrayen Ta ut på indexposition Ta reda på arrayens längd Sortera arrayen Söka igenom arrayen Loopa igenom

Läs mer

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14. Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

Läs mer

Objektorienterad programmering E. Back to Basics. En annan version av printtable. Ett enkelt exempel. Föreläsning 10

Objektorienterad programmering E. Back to Basics. En annan version av printtable. Ett enkelt exempel. Föreläsning 10 Objektorienterad programmering E Föreläsning 10 Rekursion Länkade datastrukturer Back to Basics Exekvera programmet för hand! public class Param { public static int f(int x) { return x+1; public static

Läs mer

DELPROV 1 I DATAVETENSKAP

DELPROV 1 I DATAVETENSKAP Umeå Universitet Datavetenskap Marie Nordström 070502 DELPROV 1 I DATAVETENSKAP Uppgift (poäng) 1 () 2 () 3 () 4 () 5 () 6 () Summa (xx) Inlämnad Poäng Kurs : Datum : 070502 Namn (texta) : Personnummer

Läs mer

Objektorienterad programmering med Java, Generics

Objektorienterad programmering med Java, Generics Generics i Java Generic: allmän, genersisk. På menyn på en asiatisk restaurang: Denna rätt serveras med valfritt kött, fisk eller skalddjur Bakgrund Generics i Java ger oss att skriva kod, klasser och

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet

Läs mer

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl

Läs mer

DAT043 Objektorienterad Programmering

DAT043 Objektorienterad Programmering DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är

Läs mer

Idag: Dataabstraktion

Idag: Dataabstraktion Idag: Dataabstraktion Hur använder vi det vi hittills kan om Scheme för att realisera (implementera) sammansatta data? Hur separerar man datastrukturen från resten av ett program så att ändringar i datastrukturen

Läs mer

Innehåll. Sökning och hashtabeller. En bilsamling att söka i. En bil-klass att söka efter. Hur hittar vi alla bilar som uppfyller ett annat villkor

Innehåll. Sökning och hashtabeller. En bilsamling att söka i. En bil-klass att söka efter. Hur hittar vi alla bilar som uppfyller ett annat villkor Innehåll Sökning och hashtabeller Henrik Bergström henrikbe@dsv.su.se Sökning i linjära strukturer Söka efter många objekt Sökning efter ett objekt Sekventiell sökning Binär sökning Sökning efter godtyckligt

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

Föreläsning 13. Rekursion

Föreläsning 13. Rekursion Föreläsning 13 Rekursion Rekursion En rekursiv metod är en metod som anropar sig själv. Rekursion används som alternativ till iteration. Det finns programspråk som stödjer - enbart iteration (FORTRAN)

Läs mer

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp

Läs mer

6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom:

6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom: 6 Rekursion 6.1 Rekursionens fyra principer Problem löses genom: 1. förenkling med hjälp av "sig själv". 2. att varje rekursionssteg löser ett identiskt men mindre problem. 3. att det finns ett speciellt

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

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer.

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer. Strävorna 4A 100-rutan... förmåga att förstå, föra och använda logiska resonemang, dra slutsatser och generalisera samt muntligt och skriftligt förklara och argumentera för sitt tänkande.... grundläggande

Läs mer

Rekursion. Att tänka rekursivt Att programmera rekursivt i Java Exempel. Programmeringsmetodik -Java 254

Rekursion. Att tänka rekursivt Att programmera rekursivt i Java Exempel. Programmeringsmetodik -Java 254 Rekursion Rekursion är en grundläggande programmeringsteknik M h a rekursion kan vissa problem lösas på ett mycket elegant sätt Avsnitt 11 i kursboken: Att tänka rekursivt Att programmera rekursivt i Java

Läs mer

LÖSNINGSFÖRSLAG

LÖSNINGSFÖRSLAG LÖSNINGSFÖRSLAG - 100406 Uppgift 1. a) Objekten som tillhör en icke-muterbar klass är oförändliga, dvs de behåller under hela sin livstid det tillstånd som de fick när de skapades. Icke-muterbara objekt

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna

Läs mer

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om? Algoritmer och datastrukturer Allmänt om kursen Kort javagrund repetition - Klasser, metoder, objekt och referensvariabler, - Hierarkiska klass strukturer - Arrayer och arrayer av objekt - Collection ramverket

Läs mer

Föreläsning 8: Räkning. Duvhålsprincipen. Kombinatorik

Föreläsning 8: Räkning. Duvhålsprincipen. Kombinatorik Föreläsning 8: Räkning. Duvhålsprincipen. Kombinatorik Summaregeln Om och B är disjunkta mängder så B = + B, ty innehåller inga upprepningar Produktregeln Om och B är disjunkta mängder så är B = B Exempel:

Läs mer

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

Föreläsning 8: Exempel och problemlösning TDA 545: Objektorienterad programmering Föreläsning 8: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 De tre senaste föreläsningarna Läsanvisning: kap 2 & 13 meddelanden och

Läs mer

Ha det kul med att förmedla och utveckla ett knepigt område!

Ha det kul med att förmedla och utveckla ett knepigt område! Kul med pizzabitar Första gången eleverna får materialet i handen bör dem få sin egen tid till att undersöka det på det viset blir dem bekanta med dess olika delar. Det kan också vara en god idé att låta

Läs mer

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument Distributiva lagen a(b + c) = ab + ac 3(x + 4) = 3 x + 3 4 = 3x + 12 3(2x + 4) = 3 2x + 3 4 = 6x + 12

Läs mer

PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC

PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC lektion 1 PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC VB är ett applikationsutvecklingsverktyg med programmeringsspråket är basic, gränssnittet är grafiskt och man arbetar hela tiden med grafiska

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 10 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 10 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Lägre gräns för sortering Count sort,

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

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

Magnus Nielsen, IDA, Linköpings universitet

Magnus Nielsen, IDA, Linköpings universitet Föreläsning 7 Introduktion till sortering TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 24 september 2018 Magnus Nielsen, IDA, Linköpings universitet 7.1 1

Läs mer

Föreläsning 1, vecka 7: Rekursion

Föreläsning 1, vecka 7: Rekursion TDA 548: Grundläggande Programvaruutveckling Föreläsning 1, vecka 7: Rekursion Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Nytt: Extra labbtillfälle för Grupp B (för att grupp Bs labbtider har på senaste

Läs mer

Skriva B gammalt nationellt prov

Skriva B gammalt nationellt prov Skriva B gammalt nationellt prov Skriva B.wma Då fortsätter vi skrivträningen. Detta avsnitt handlar om att anpassa sin text till en särskild situation, en speciell texttyp och särskilda läsare. Nu ska

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

Snabbslumpade uppgifter från flera moment.

Snabbslumpade uppgifter från flera moment. Snabbslumpade uppgifter från flera moment. Uppgift nr Ställ upp och dividera utan hjälp av miniräknare talet 48 med 2 Uppgift nr 2 Skriv talet 3 8 00 med hjälp av decimalkomma. Uppgift nr 3 Uppgift nr

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F5:1 OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling Vi skall nu titta på ett exempel med myror. Varje myra har ett namn

Läs mer

Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 27 maj 2008

Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 27 maj 2008 Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 27 maj 2008 Christian 27 maj 2008 Uppgift 1 Flera av dem jag talade med efter tentan hade blivit förskräckta när

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom

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

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

4 13 / %.; 8 </ '':  / //&'   ' * TelefonKostnad +,-%&. #! $%  &' . > / ' 5 /' * 13/ &' static Math 1+ &'/ % 12  static ' * 1 /) %& & TelefonKostnad static Math static $ & )&* +,-&. 0 +& + & 3 356+573 ) & & 6 3 3 & 3 * 6 3.:; < = 3 = 6 ; < : & >?.;,;@.A@;0,0,? @B0 C,0 > *. > 5 C D & D 5 * &! ; 66C! * C, 0 E,&! 0 F,G0 >: = = C 3 & HI

Läs mer

ID1020: Mergesort. Dr. Jim Dowling kap 2.2. Slides adapted from Algoritms 4 th Edition, Sedgewick.

ID1020: Mergesort. Dr. Jim Dowling kap 2.2. Slides adapted from Algoritms 4 th Edition, Sedgewick. ID1020: Mergesort Dr. Jim Dowling jdowling@kth.se kap 2.2 Slides adapted from Algoritms 4 th Edition, Sedgewick. Två klassiska algoritmer: mergesort och quicksort Nyckelkomponenter i världens IT-infrastruktur.

Läs mer

Lösningar för tenta 2 DAT043,

Lösningar för tenta 2 DAT043, Lösningar för tenta 2 DAT043, 2018-06-08. Uppgift 1 public class Car{ private String model; private String year; private double price; public Car(String model, String year, double price){ this.model =

Läs mer

F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander

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

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F10:1 OOP Objekt-orienterad programmering Föreläsning 10 Mer om arv och klasshierarkier Interface Hierarkier - många nivåer OOP F10:2 Djur Rovdjur Hovdjur Fåglar Fiskar Björn Kattdjur Ko Lamm Hjort

Läs mer

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,

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