Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper.
|
|
- Kjell Sundqvist
- för 5 år sedan
- Visningar:
Transkript
1 Tentamen Programmeringsteknik II Skrivtid: Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper. Fyll i försättssidan fullständigt. Såvida inget annat anges får man bygga på lösningar till föregående uppgifter även om dessa inte har lösts. Det är tillåtet att införa hjälpmetoder och hjälpklasser. Uttrycket skriv en metod som skall alltså inte tolkas så att lösningen inte får struktureras med hjälp av flera metoder. Alla uppgifter gäller programmeringsspråket Java och programkod skall skrivas i Java. Koden skall vara läslig dvs den skall vara vettigt strukturerad och indenterad. Namn på variabler, metoder, klasser etc skall vara beskrivande men kan ändå hållas ganska korta. Observera att betyget kan påverkas negativt bland annat av: icke-privata eller onödiga instansvariabler, dålig läslighet, upprepning av identisk kod, underlåtenhet att utnyttja given eller egen tidigare skriven metod, underlåtenhet att utnyttja arv och lösningar som har väsentligt sämre komplexitet än nödvändigt t ex Θ(n 2 ) i stället för Θ(n log n). Observera Skrivningen består av två delar. Lösningarna till uppgifterna på del A ska skrivas direkt på skrivningsformuläret och lämnas in. Rutorna är tilltagna i storlek så att de ska rymma svaren. Om du ändå inte får plats får du fortsätta på vanligt skrivblad. Markera gärna detta både på försättsbladet och i rutan. Skriv inte på baksidan. Svaren på del B skrivs på vanligt papper med nytt papper för varje uppgift. Var god vänd!
2 Bedömning och betygsättning För att bli godkänd (betyg 3) krävs att A-delen i huvudsak är rätt löst. Det betyder inte att varje uppgift behöver vara exakt rätt, men att du ska visa att du i huvudsak uppfyller kursens mål, som säger att studenten efter godkänd kurs ska kunna: använda programspråket Java, både skriva egen kod och förklara vad en given kod utför; redogöra för begreppen arv och polymorfi i ett objektorienterat språk och använda dessa begrepp i egen programutveckling; implementera rekursiva lösningar till olika problem; beskriva principen för analys av algoritmers effektivitet och utföra sådan analys av enklare algoritmer; beskriva, implementera och använda de grundläggande datastrukturerna array, länkad lista, hashtabell och binärt träd samt abstrakta datatyper som stackar, köer och avbildningar; beskriva hur felhantering med hjälp av undantag fungerar och kunna använda detta i egna program. För betyget 4 krävs dessutom att minst hälften, och för betyg 5 alla, uppgifterna på B-delen är i stort sett rätt lösta. Vid bedömning för dessa betyg tas även hänsyn till kvaliteten på lösningarna på A-delen. Observera att B-delen normalt sett endast rättas om A-delen är godkänd. Lycka till! Inledning I bilagorna finns ett antal mer eller mindre ofullständiga klasser. Klassen BST innehåller en variant av binära sökträd med tal som nycklar. Klassen ExamException är en liten undantagsklass. Klassen Item lagrar information om element i en bibliotekskatalog. Till den hör ett interface Duplicable för att kopiera sådana objekt. Klassen List innehåller några grundläggande komponenter för att skapa och hantera enkellänkade listor av Student-objekt. Varje student kan förekomma flera gånger. Klassen Misc innehåller ett antal separata metoder. Klassen SmallGame utgör ett litet händelsestyrt spel med händelseloopen i main. Klassen Student representerar en student med för- och efternamn. Den är oföränderlig, det går inte att byta namn efter att en student har skapats. Notera att även de metoder som inte är implementerade oftast har giltig Javadoc-dokumentation, som kan ge värdefull information. Utöver detta finns delar av den officiella Java-dokumentationen för ArrayList, Map, Scanner och Set bifogad, liksom klasshierarkierna för några undantagsklasser.
3 Del A (obligatorisk för alla) A1. Ringa in rätt alternativ. På näst sista frågan kan flera alternativ vara rätt. På sista frågan kan du dra streck eller skriva bokstäver från högerkolumnen vid varje funktion i vänsterkolumnen. a) Du har skrivit ett användargränssnitt genom att ärva från JPanel. Du märker att det oftast inte syns när något har ändrats, men om användaren växlar fönster dyker det ibland upp. Du har kommit på att du måste anropa en metod för att säkert se till att världen ritas upp. Vilken metod ska du anropa? 1) drawcomponent 2) paintcomponent 3) performrendering 4) repaint b) Vilken typ av traversering ska du göra om du vill besöka noderna i ett binärt sökträd i storleksordning? 1) pre-order 2) post-order 3) next-order 4) in-order 5) up-order c) I vilken av följande datastrukturer går det snabbast att hitta det största elementet? Sorterad innebär i det här fallet att elementen kommer i stigande ordning. 1) En sorterad enkellänkad lista 2) En sorterad dubbellänkad lista 3) En sorterad cirkulär lista 4) Ett balanserat binärt sökträd d) Vad händer om man inte fångar ett kastat Java-undantag i ett enkelt program? 1) Programmet avslutas utan att indikera vad som gick fel 2) Programmet avslutas med en felutskrift 3) Programmet fortsätter köra utan att indikera att något gick fel 4) Programmet ger en felutskrift och fortsätter att köra e) Vilken typ av undantag behöver inte fångas eller deklareras med throws i metodhuvudet? 1) Throwable 2) Error 3) RuntimeException 4) IOException f) Vilket av följande nyckelord används (i klassdeklarationen) för att ange att en Java-klass ärver från en annan? 1) extends 2) implements 3) inherits 4) super
4 g) Vilket eller vilka av följande påståenden gäller för en rekursiv men inte en iterativ metod? 1) Metoden måste returnera ett värde 2) Metoden anropar sig själv 3) Metoden måste innehålla både if och else 4) Tidsåtgången för metoden växer linjärt med storleken på dess argument h) Vilken tidskomplexitet har följande funktioner i genomsnitt? Para ihop varje funktion i vänsterkolumnen med ett uttryck i högerkolumnen. Observera att flera funktioner kan ha samma tidskomplexitet! a) C Sökning i ett binärt sökträd b) D Sortering med samsortering ( merge sort ) c) E Sortering med instickssortering ( insertion sort ) d) B Beräkning av medelvärdet av alla element i en array e) B Sökning i en sorterad länkad lista f) C Sökning i en sorterad array A) Θ(1) B) Θ(n) C) Θ(log(n)) D) Θ(n log(n)) E) Θ(n 2 ) F) Θ(n 3 ) G) Θ(2 n )
5 A2. I klasen List finns en metod getallsurnames som ska returnera en Set med alla efternamn som förekommer på minst en student i listan. Skriv nödvändig kod för att denna metod ska fungera. public Set<String> getallsurnames() { Set<String> res = new HashSet<String>(); getallsurnames(first, res); return res; private static void getallsurnames(node n, Set<String> res) { if (n == null) { return; res.add(n.student.getsurname()); getallsurnames(n.next, res); A3. Direkt efter getallsurnames finns Javadoc-dokumentationen för en liknande metod. Läs dokumentationen och föreslå ett lämpligt metodhuvud för metoden. Huvudet ska återspegla den information som finns i dokumentationen, till exempel vad gäller argument och returvärde. Obs! Du behöver alltså inte implementera själva metoden. public List getstudentsinrange(string from, String to) A4. Metoden Misc.printAllKeys ska skriva ut alla nycklar i en Map som skickas in. Se till att den gör detta genom att fylla i luckorna nedan. Det är möjligt att en eller flera luckor bör lämnas tomma. public static void printallkeys(map<string, String> m) { for ( ) { String k : m.keyset() System.out.println(k); A5. Implementera en överskuggande version av hashcode, som är en standardmetod i Object, för Student. Se till att de hypotetiska personerna Sten Björn och Björn Sten inte får samma hashvärde. Du får utnyttja befintliga hashcode-metoder i andra klasser. public int hashcode() { return firstname.hashcode() + 47 * surname.hashcode();
6 Anmälningskod: A6. I filen Misc.java finns en metod ishello. Beskriv vilka likheter och skillnader som finns i vad som händer när metoden anropas beroende på värdet på de två argumenten s och mode. Fokusera på de skillnader som märks för den som anropar metoden. För andra värden på mode än 0 och 1 kastas ett ExamException. För null-skilda strängar returneras samma sak för 0 och 1, true om s är identisk med "Hello". Om mode är 0 och s är null kastas ett NullPointerException. I samma situation returneras false med mode 1. A7. Implementera BST.depthFor, som returnerar djupet för noden med ett visst värde i trädet, det vill säga väglängden från roten till den noden. Varje nod ska räknas in. Returnera -1 om noden inte finns. public int depthfor(int val) { return depth(root, val); private static int depthfor(node n, int val) { if (n == null) return -1; int res; if (val == n.data) { res = 0; else if (val < n.data) { res = depthfor(n.left, val); else { res = depthfor(n.right, val); return res + 1;
7 A8. Implementera List.smallest, som returnerar det Student-objekt som kommer först vid jämförelse med compareto. public Student smallest() { if (first == null) { return null; return smallest(first, first.student); private static Student smallest(node n, Student cand) { if (n == null) { return cand; if (n.student.compareto(cand) < 0) { cand = n.student; return smallest(n.next, cand); A9. Titta på implementationen av List.contains. Vilken tidskomplexitet har denna operation i relation till listans totala storlek n, i fallet då studenten inte visar sig finnas i listan? Ge en kort motivering och svara i termer av Θ. För att avgöra att elementet inte finns i listan måste contains besöka varje element. Varje besök tar konstant tid. Sammantaget alltså Θ(n). A10. Titta på implementationen av BST.contains. Vilken tidskomplexitet har denna operation om frågan gäller ett slumptvist valt tal av de som finns i trädet? Ge en kort motivering och svara i termer av Θ, i relation till trädets totala storlek n och inre väglängden (ipl), I = j d j, där d j är djupet för nod j. För att hitta rätt element ska sökning efter elementet ske i trädet. Varje rekursionssteg för sökningen tar konstant tid. Antalet rekursionssteg avgörs av nodens djup. En slumpvist utvald nod har djupet I/n. Sammantaget alltså Θ(I/n). För ett genomsnittligt träd med slumpvis insticksordning kommer I i sin tur att vara Θ(n log n), vilket ger att operationen i det specialfallet har komplexitet Θ(log n).
8 A11. List.getStudent letar efter en student med ett visst namn. Den kastar undantaget ExamException om studenten inte finns. Implementera metoden ensurestudent. Den ska använda getstudent och lägga till och returnera ett nytt studentobjekt med detta namn om det inte redan finns. public Student ensurestudent(string firstname, String surname) { try { return getstudent(firstname, surname); catch (ExamException) { Student s = new Student(firstname, surname); add(s); return s; A12. a) Vad innebär det att en metod binds dynamiskt? Att vilken metod som faktiskt anropas är beroende på den faktiska typen av ett objekt, inte vilken typ dess referens har. I Java är detta standard. Det innebär att en subklass kan överskugga olika metoder från sin basklass. b) Ge ett konkret, verkligt exempel på användning av dynamisk bindning, till exempel från kursens obligatoriska uppgifter. I den symboliska kalkylatorn användes konsekvent referenser till den abstrakta basklassen, men metodanropen bands dynamiskt till implementationen av exempelvis eval och diff i respektive subklass.
9 Del B (för betyg 4 och 5) Svaren till dessa uppgifter skrivs på vanligt skrivningspapper. Se till att skriva varje uppgift på ett eget blad. B1. Metoden List.getRandom ska returnera en slumpmässigt utvald student ur listan, alla med samma sannolikhet. a) Gör den (alltid) det? Vilka problem eller fel ser du med metoden? Beskriv en möjlig lösning för att undvika problemen. För varje element har metoden samma sannolikhet (0.1) att välja det valda elementet. Det ger en förhöjd sannolikhet att välja tidiga element. Det gör det också möjligt att nå slutet av listan utan att ha valt något element. I det fallet kastas ett NullPointerException. En korrekt lösning skulle kunna slumpa ett specifikt index utifrån listans storlek och sedan rekursera för att hitta studenten med det indexet. Detta kräver dock två rekursioner, en för att ta reda på storleken och en för att hitta det index som väljs. b) Uppskatta den ursprungliga metodens genomsnittliga körtidskomplexitet i termer av listans storlek n och Θ. Motivera ditt svar. Θ(1) Eftersom metoden har en konstant sannolikhet att välja varje element blir sannolikheten att den fortsätter till listans slut försvinnande liten för tillräckligt stora n. Jämför till exempel med hur den oändliga summan inf i=1 2 i = 1. B2. Skriv den nödvändiga koden för metoden BST.listFromIndex, som ska skapa en ArrayList enbart bestående av det tal som finns lagrat på index i i trädet. Indexen räknas ordnade in-order. Körtidskomplexiteten ska vara Θ(i + log n) för balanserade träd, den får exempelvis inte vara Θ(n) oberoende av i. Om index i inte finns ska ett undantag kastas i enlighet med dokumentation. public ArrayList<Integer> listfromindex(int i) { ArrayList<Integer> res = new ArrayList<Integer>(); i = listfromindex(root, i, res); if (i >= 0) { throw new ExamException("Index not found."); private static listfromindex(node n, int i, ArrayList<Integer> res) { if (n == null i < 0) { return i; i = listfromindex(n.left, i, res); if (i == 0) { res.add(n.data); i--; i = listfromindex(n.right, i, res); return i;
10 B3. Klassen BST har stöd för att skapa en ArrayList med talen in-order. a) Skriv koden för den konstruktor som tar en ArrayList för att skapa ett träd från en sådan sorterad ArrayList. Skriv ytterligare hjälpmetoder vid behov. Det resulterande trädet får maximalt ha höjden log 2 n, där n är antalet element. Tänk efter hur du kan göra processen så tidseffektiv som möjligt. public BST(ArrayList<Integer> list) { root = fromarraylist(list, 0, list.size()); private static Node fromarraylist(arraylist<integer> list, int start, int end) { if (end <= start) { return null; int mid = start + (end - start) / 2; return new Node(list.get(mid), fromarraylist(list, start, mid), fromarraylist(list, mid + 1, end)); b) Motivera vilken tidskomplexitet konstruktorn har. Hur förhåller den sig till tidskomplexiteten för att lägga till samma element i trädet ett i taget i slumpmässig ordning? Hjälpmetoden gör konstant arbete och anropas en gång för varje element, plus en gång extra för varje tomt löv. Det senare skalar mindre än linjärt med totala antalet element. Alltså är det totala arbetet för konstruktorn Θ(n). Vid slumpmässig inläggningsordning skulle add användas och trädet skulle i genomsnitt bli balanserat, vilket skulle innebära n operationer med komplexitet Θ(log n), d.v.s. Θ(n log n).
11 B4. Metoden Misc.findHighestNumber ska gå igenom filerna 1.txt till 100.txt, öppna var och en och se vilken som har det största heltalet. Tyvärr har implementationen inte tillräcklig felhantering. Två fel som får den nuvarande koden att avbrytas på grund av undantag är att någon av filerna inte finns, och att en fil finns, men är tom. Detta ska tillåtas och metoden ska fortsätta läsa talen från övriga filer. Andra typer av fel vid läsning av filerna, som att innehållet inte är ett heltal, ska däremot resultera i att metoden kastar undantag. Föreslå lämpliga tillägg till metoden, med så konkret och korrekt kod som möjligt. Du kan hänvisa till radnummer i den befintliga metoden, eller skriva av hela metoden och göra relevanta tillägg. Ingen del av den nuvarande logiken ska förändras. public static int findhighestnumber() throws InputMismatchException { int maxval = 0; for (int i = 1; i <= 100; i++) { try { int val = new Scanner(new FileReader("" + i + ".txt")).nextint(); if (val > maxval) { maxval = val; catch (FileNotFoundException e) { catch (InputMisMatchException e) { throw e; catch (NoSuchElementException e) { return maxval;
12 B5. Klassen SmallGame implementerar ett hypotetiskt interface KeypressListener. Det är ett händelsestyrt spel där användaren ska tänka på ett tal från 1 till 100. Du ska göra klart spelet genom att implementera metoden keypress, utan att ändra något i händelseloopen. Datorn ska i varje steg presentera en ny gissning. Om talet är större ska användaren trycka på +, om talet är mindre ska användaren trycka på -. Om gissningen är rätt ska användaren skriva =. Då avslutas programmet. Om användaren trycker på något annat ska ingenting hända. I exemplet i bilagan avslutas programmet så fort användaren trycker på någon tangent alls. Förutom själva metoden keypress och konstruktorn SmallGame kan du vilja skapa hjälpmetoder och instansvariabler i SmallGame. Du ska däremot inte ändra i SmallGame.main. private int lo = 1; private int hi = 100; private int getguess() { return (lo + hi) / 2; private int printguess() { System.out.println("Jag gissar på " + getguess() + "."); public SmallGame() { printguess(); void keypress(char c) { switch (c) { case = : System.exit(); case + : lo = getguess() + 1; printguess(); break; case - : hi = getguess() - 1; printguess(); break;
13 B6. I bilagan finns delar av ett annat program med klassen Item och interfacet Duplicable. Programmet ska hantera en bibliotekskatalog. Item är tänkt att representera objekt (böcker, tidningar, CD-skivor, o.s.v.) som finns i katalogen. Skriv en icke-abstrakt klass som representerar böcker och som: a) ärver från Item b) överskuggar tostring c) kan skapas med samma parametrar som Item d) implementerar Duplicable Tänk på att inte skriva någon överflödig kod. Se till att namnge olika element i din kod på lämpligt sätt! Du behöver inte skriva Javadoc i koden. public class Book extends Item implements Duplicable { public Book(String originator, String title) { super(originator, title); public Item duplicate() { return new Book(this.originator, this.title); public int rentalperiod() { return public String tostring() { return "Book. Author: " + this.originator + ". Title: " + this.title + ".";
Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2018-05-28 Skrivtid: 0800 1300 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper. Fyll i försättssidan
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merLägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2017-08-24 Skrivtid: 0800 1300 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper. Fyll i försättssidan
Läs merLägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2017-05-29 Skrivtid: 0800 1300 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper. Fyll i försättssidan
Läs merLägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2016-05-30 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Läs merif (n==null) { return null; } else { return new Node(n.data, copy(n.next));
Inledning I bilagor finns ett antal mer eller mindre ofullständiga klasser. Klassen List innehåller några grundläggande komponenter för att skapa och hantera enkellänkade listor av heltal. Listorna hålls
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merLägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2017-10-23 Skrivtid: 14:00 19:00 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper. Fyll i försättssidan
Läs merDet är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Läs merObservera. Tentamen Programmeringsteknik II Skrivtid:
Tentamen Programmeringsteknik II 2016-10-19 Skrivtid: 0800 1300 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper. Fyll i försättssidan
Läs merDet är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2015-05-26 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Läs merLägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2017-05-29 Skrivtid: 0800 1300 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper. Fyll i försättssidan
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2018-03-16 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2017-03-16 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merDet finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-03-19 Skrivtid: 14:00 19:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Läs merTentamen 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 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 merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merLägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2016-10-19 Skrivtid: 0800 1300 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper. Fyll i försättssidan
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2019-03-22 Skrivtid: 14:00 19:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merTentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!
Tentamen Programmeringsteknik II 2014-01-09 Skrivtid: 0800-1300 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja
Läs merKlassen BST som definierar binära sökträd med tal som nycklar och enda data. Varje nyckel är unik dvs förekommer endast en
Tentamen Programmeringsteknik II 2017-10-23 Skrivtid: 14:00 19:00 Inledning Skrivningen innehåller ett antal bilagor: Bilagan listsandtrees innehåller fyra klasser: Klassen List med några grundläggande
Läs merLägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2017-08-24 Skrivtid: 0800 1300 Tänk på följande Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din anmälningskod överst i högra hörnet på alla papper. Fyll i försättssidan
Läs merLägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper.
Tentamen Programmeringsteknik II 2016-05-30 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merF7: Rekursiv till iterativ, sammanfattning, genomgång av omtentan Carl Nettelblad
F7: Rekursiv till iterativ, sammanfattning, genomgång av omtentan 2018-08-24 Carl Nettelblad 2018-05-21 Lite administrativt Jättevälkomna att redovisa OU5 före deadline Ni får bättre och mer feedback när
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 merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
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 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 merDet är principer och idéer som är viktiga. Skriv så att du övertygar rättaren att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2013-06-05 Skrivtid: 1400-1700 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja
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 merTentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!
Tentamen Programmeringsteknik II 2013-10-22 Skrivtid: 0800-1300 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja
Läs merProgrammeringsteknik II
Programmeringteknik II Kursintroduktion http://www.it.uu.se/edu/course/homepage/prog2/vt18/ 2018-03-19 Programmeringsteknik II 2018-03-19 1 / 9 Lärare Carl Nettelblad (kursansvarig) Anna Eckerdal Biträdande
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merTentamen Programmeringsteknik 2 och MN Skrivtid: Inga hjälpmedel.
Tentamen Programmeringsteknik 2 och MN2 2006-03-10 Skrivtid: 0900-1400 Inga hjälpmedel. Tänk på följande OBS: För betygen 4, 5 och VG kommer något högre gränser än normalt användas. Skriv läsligt! Använd
Läs merTentamen i Programmeringsteknik I
Tentamen i Programmeringsteknik I 2016-10-17 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merProgrammering för språkteknologer II, HT2014. Rum
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/ 1 Idag - Parametriserade
Läs merTentamen 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 merDet 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-06-04 Skrivtid: 1400-1700 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 merDet finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-06-11 Skrivtid: 08:00 13:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Läs merTentamen, Algoritmer och datastrukturer
UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och
Läs merTentamen Programmeringsteknik II för STS Skrivtid: Inga hjälpmedel.
Tentamen Programmeringsteknik II för STS 2007-03-09 Skrivtid: 1500-2000 Inga hjälpmedel. Tänk på följande OBS: För betygen 4, 5 och VG kommer något högre gränser än normalt användas. Skriv läsligt! Använd
Läs merKungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass
Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klassen Mio ffl Särfall ffl Interface Kungl. Tekn. Högskolan
Läs merFö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 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 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 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 merpublic boolean containskey(string key) { return search(key, head)!= null; }
Tentamen Programmeringsteknik II 2009-05-26 med lösningar Skrivtid: 0900-1200 Uppgifter 1. Programbilagan ListMap.java innehåller en klass som implementerar en avbildning mellan mängden strängar och mängden
Läs merDet är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift
Läs merTentamen i Programmeringsteknik I
Tentamen i Programmeringsteknik I 2017-01-03 Skrivtid: 8.00-13.00 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Skriv ej högst upp i det vänstra hörnet
Läs merFöreläsning 10 Datastrukturer (DAT037)
Föreläsning 10 Datastrukturer (DAT037) Fredrik Lindblad 1 29 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 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ä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 merGrafik, grafiska användargränssnitt och rörliga bilder
(22 maj 2015 F14.1 ) Grafik, grafiska användargränssnitt och rörliga bilder Viktigt: Grafiska komponenter: Fönster, etiketter, knappar, textfält,... Tekniken med att med genom arv definiera t ex sitt eget
Läs merFöreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:
Föreläsning 7 Innehåll Rekursion Rekursivt tänkande: Hur många år fyller du? Ett år mer än förra året! Rekursion Rekursiv problemlösning Binärsökning Generiska metoder Rekursiv problemlösning: Dela upp
Läs merFöreläsning 9 Innehåll
Föreläsning 9 Innehåll Träd, speciellt binära träd egenskaper användningsområden implementering Datavetenskap (LTH) Föreläsning 9 HT 2017 1 / 31 Inlämningsuppgiften De föreläsningar som inlämningsuppgiften
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 merFöreläsning 14. Filhantering
Föreläsning 14 Filhantering Filhantering Att hantera filer, dvs att läsa eller skriva data till en fil är en viktig del i de flesta program. Ur Javas synvinkel är filer objekt med egenskaper och metoder
Läs merTENTAMEN 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 merFö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 merSö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 merDet 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 2014-10-17 Skrivtid: 0800-1300 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 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 merFö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 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 merDatastrukturer i kursen. Föreläsning 8 Innehåll. Träd rekursiv definition. Träd
Föreläsning 8 Innehåll Datastrukturer i kursen Träd, speciellt binära träd egenskaper användningsområden implementering Undervisningsmoment: föreläsning 8, övningsuppgifter 8, lab 4 Avsnitt i läroboken:
Läs merDAT043 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 merFöreläsning 1 Datastrukturer (DAT037)
Föreläsning 1 Datastrukturer (DAT037) Fredrik Lindblad 1 30 oktober 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 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 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 merTENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
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 merDet 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 merLö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 merTeoretisk del. Facit Tentamen TDDC (6)
Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för
Läs merProgrammering 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 merSammanfattning och repetition utgående från typiska tentamensuppgifter
(2 mars 2018 F6 1 ) Dagens föreläsning Sammanfattning och repetition utgående från typiska tentamensuppgifter (2 mars 2018 F6 2 ) A-fråga Hur många objekt skapas av nedanstående kod? World w = new World();
Läs merInlämningsuppgiften. Föreläsning 9 Innehåll. Träd. Datastrukturer i kursen
Föreläsning 9 Innehåll Inlämningsuppgiften De föreläsningar som inlämningsuppgiften bygger på är nu klara. Det är alltså dags att börja arbeta med inlämningsuppgiften. Träd, speciellt binära träd egenskaper
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 merTentamen Datastrukturer D DAT 035/INN960
Tentamen Datastrukturer D DAT 035/INN960 22 december 2006 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.) Betygsgränser,
Läs merTentamen Datastrukturer (DAT037)
Tentamen Datastrukturer (DAT07) Datum och tid för tentamen: 2016-01-09, 14:00 18:00. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 15:00 och ca
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 merDugga 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 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 merTENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).
1 (7) 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 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 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 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 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 merTDDC30. 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 merTentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg
Läs merTentamen Datastrukturer, DAT037 (DAT036)
Tentamen Datastrukturer, DAT037 (DAT036) Datum och tid för tentamen: 2017-01-11, 14:00 18:00. Ansvarig: Fredrik Lindblad. Nås på tel nr. 031-772 2038. Besöker tentamenssalarna ca 15:00 och ca 17:00. Godkända
Läs merFöreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-12-14 Idag Frågor? Är något oklart inför tentan? Sammanfattning Exempel från föreläsning 1 Dåligt val av datastruktur public class Bits {
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 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 OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merLÖ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