TDDI16 Datastrukturer och algoritmer Övningsuppgifter hösten 2014

Storlek: px
Starta visningen från sidan:

Download "TDDI16 Datastrukturer och algoritmer Övningsuppgifter hösten 2014"

Transkript

1 TDDI16 Datastrukturer och algoritmer Övningsuppgifter hösten augusti 2014 Förord Detta är en samling av typiska problem rekommenderade för lektionerna i TDDI16 Datastrukturer och algoritmer Samlingen har utvecklats gradvis över många kursomgångar av liknande algoritmkurser givna vid IDA Många av problemen är gamla tentamensuppgifter Uppgifterna är indelade i sex delkapitel, svarande mot de sex lektioner som är schemalagda för TDDI16 kursomgången 2014/2015 Varje delkapitel indikerar prioriterade uppgifter att lösa i första hand, helst före eller under lektionen 1

2 Le 1 Komplexitet, Algoritmanalys Prioriterade uppgifter: 1, 5, 7, 8, 9, 11, 12 1 Bevisa eller motbevisa följande påståenden genom att använda definitionerna (a) (n + 1) 2 O(n 3 ) (b) (n 1) 3 O(n 2 ) (c) 2 n+1 O(2 n ) (d) 3 n 1 O(2 n ) (e) (n + 1) 2 Ω(n 3 ) (f) (n 1) 3 Ω(n 2 ) (g) 2 n+1 Ω(2 n ) (h) 3 n 1 Ω(2 n ) (i) (n + 1) 2 Θ(n 3 ) (j) (n 1) 3 Θ(n 2 ) (k) 2 n+1 Θ(2 n ) (l) 3 n 1 Θ(2 n ) 2 Betrakta följande funktioner där k 4 är en konstant och log är 2-logaritmen Ordna dem efter stigande tillväxttakt, dvs ge dem en plats i sekvensen f 1,,f 8 så att O(f i ) O(f i+1 ) för i = 1,7 Inkluderar mängden funktioner med likadan tillväxttakt? k n+1,n log k,nlog n,n k, n 3,k n,n k+1,k log n 3 Låt f(n) och g(n) vara funktioner sådana att f(n) 0, g(n) 0 för alla n Visa: (a) O(f(n) + g(n)) = O(max(f(n),g(n))) (b) f(n) g(n) O(f(n) g(n)) 4 Är det sant att om log f(n) O(log g(n)) så gäller f(n) O(g(n))? Motivera svaret 5 Bevisa att om f O(g) och g O(h) så gäller f O(h) Vilka värden på n 0 och c får f och h i termer av dem för f och g samt för g och h? 6 Visa att f Θ(g) om och endast om g Θ(f) (Alltså partitionerar Θ klassen av alla funktioner i ekvivalensklasser) 7 Algoritmerna A och B har värstafallskomplexitet O(n 2 ) respektive O(nlog n) På vissa indata har A kortare exekveringstid än B Ge tre möjliga förklaringar till att detta fenomen kan uppstå Är fenomenet fortfarande möjligt om värstafallskomplexiteterna är Θ(n 2 ) och Θ(nlog n)? 8 Ge motiverade svar på följande frågor: (a) Tidskomplexiteten i värsta fallet för en algoritm är Ω(n) Är det möjligt att algoritmen använder tid T(n) Ω(n 2 ) för något indata? (b) Tidskomplexiteten i värsta fallet för en algoritm är Ω(n) Är det möjligt att algoritmen använder tid T(n) Ω(n 2 ) för alla indata? (c) Det bästa indatat gör att algoritmen använder Θ(n) tid Är det möjligt att algoritmen använder tid T(n) Ω(n 2 ) för något indata? 2

3 (d) Det bästa indatat gör att algoritmen använder Θ(n) tid Är det möjligt att algoritmen använder tid T(n) Ω(n 2 ) för alla indata? 9 Analysera tidskomplexiteten för följande algoritmer: (a) procedure Mystery(integer n): for i from 1 to n 1 do for j from i + 1 to n do for k from 1 to j do en instruktion som exekveras i tid O(1) (b) (c) (d) procedure VeryOdd(integer n): for i from 1 to n do if i is odd then for j from i to n do x x + 1 for j from 1 to i do y y + 1 procedure Complicated(integer n): for i from 1 to n do for j from n 1 downto 3 do for k from 1 to 5 do anrop till en procedur som exekverar i tid O(log n) procedure PrintStars(integer n): a 1 for i from 1 to n do a a i for j from 1 to a do print * new line 10 Betrakta följande procedur: procedure foo(integer n): for i from 1 to 4 do x i Vilka av följande påståenden stämmer för procedurens exekveringstid T(n): T(n) O(0), T(n) O(7), T(n) O(n), T(n) Ω(7)? Motivera svaren 11 Analysera värstafallskomplexiteten för tid och minne hos följande algoritm, där indata består av ett heltal i och en sorterad tabell av heltal av längd n function (integer i, table A[1n]): boolean first 1 last n f ound false while f irst last and not f ound do index (first + last)/2 if i = A[index] then f ound true elsif i < A[index] then last index 1 else first index + 1 return found 3

4 12 Skriv en rekursiv ekvation som karakteriserar tidskomplexiteten hos följande program: function Factorial(integer n): integer if n = 0 then return 1 else return n Factorial(n 1) 13 Analysera tids- och minneskomplexitet för följande funktion (som antar att n > 1): procedure PrintC(integer n): array A[1n] for i from 1 to n do A[i] 0 loop1: i 1 for j from 1 to n do print A[j] loop2: A[i] A[i] + 1 if A[i] = 2 then A[i] 0 i i + 1 else exit loop2 if i = n then exit loop1 4

5 Le 2 Linjära strukturer, Träd, Binära sökträd Proriterade uppgifter: 1, 2, 4, 6, 9, 10 1 Sekvensen X Y U V W läses en gång, tecken för tecken från vänster till höger Varje tecken som lästs kan först placeras i temporärt minne eller skickas direkt till utskrift Läsoperationerna kan blandas med operationer som tar bort tecken från minnet och skickar dem till utskrift På det här sättet får vi på utskriften en permutation av indatasekvensen Betrakta permutationerna X U W V Y och Y U W X V Kontrollera, för var och en av dem, om permutationen går att få till om det temporära minnet är: (a) en stack (b) en kö Om svaret är ja visa sekvensen av operationer för att få till permutationen Om svaret är nej förklara varför ingen sekvens av operationer kan generera den önskade permutationen 2 (a) Förklara hur man kan implementera två stackar i en vektor T[0n] på så sätt att ingen stack får overflow så länge inte båda stackarna sammanlagt innehåller n + 1 element Stackoperationerna ska köra i O(1) tid (b) En kö Q är implementerad med en ringbuffer med 3 element Visa tillståndet i buffern efter exekveringen av följande operationer Enqueue(Q, a), Enqueue(Q, b), Enqueue(Q, c), Dequeue(Q), Dequeue(Q), Enqueue(Q, d) 3 En sträng är ett palindrom om den blir samma sträng baklänges (tex strängen naturrutan Konstruera en algoritm som använder en stack för att kontrollera om en sekvens av n inlästa symboler utgör ett palindrom eller ej Vad är körtiden för din algoritm? 4 Beskriv hur man kan implementera ADT queue med hjälp av två stackar (a) Förklara idén (b) Beskriv den med pseudokod (c) Antag att du sätter in och tar ut n element i kön Sammantaget gör vi alltså n anrop till enqueue och n anrop till dequeue Ordeningen på dessa operationer är sådan att kön barablir tom efter den sista dequeue-operationen Vad är den värsta exekveringstiden för en enskild enqueue-operation ocn en enstaka dequeueoperation? (d) Vad är den amorterade tiden för samtliga operationer? 5 En dubbeländad kö double-ended queue (deque) är en sekvens som kan modiferas genom att lägga till och ta bort element i både fram- och bakänden av sekvensen Vi har med andra ord följande fyra abstrakta operationer: addfront(e,d) lägger till elementet E först i deque D, deletefront(d) returnerar första elementet i deque D och tar bort det från D addend(e,d) lägger till elementet E sist i deque D, deleteend(d) returnerar sista elementer i deque D och tar bort det från D Förklara hur en dequeue kan representeras i sammanhängande minne så att var och en av de fyra operationerna endast använder konstant tid 5

6 6 Betrakta följande binära träd a b b c c c c Vilka av de fyra vanliga typerna av binära trädtraverseringsordningar besöker noderna i alfabetisk ordning med avseende på nyckelvärden? 7 Betrakta följande trädtraverseringsalgoritm, där argumentet n refererar till trädets rot procedure TraverseTree(n: treenode); var S: ADT Stack MakeEmptyStack(S) Push(n) while not IsEmptyStack(S) do n Pop(S) Print label of n foreach child c of n in reverse order do Push(c) (a) Vilken traverseringordning implementeras av algoritmen? (b) Transformera algoritmen så att den använder ADT queue istället för ADT stack Vilken traverseringsordning implementeras av den tranformerade algoritmen? 8 Visa vilka av följande binära träd som är (a) fulla (b) fullständiga (c) perfekta a b c d e f g h 9 Betrakta sekvensen av nycklar som fås vid traversering av ett binärt sökträd Visa om det är möjligt eller ej att rekonstruera trädet givet att traverseringen gjordes: (a) preorder (b) postorder (c) inorder (d) levelorder 6

7 10 Visa arrayrepresentationen av följande binära träd b a i c f j k d e g h 7

8 Le 3 AVL-träd, (a, b)-träd Prioriterade uppgifter: 1, 2, 3 1 Betrakta följande binära träd (a) Motivera att det är ett binärt sökträd (b) Visa träden: T 1 = Insert(12,T), T 2 = Insert(7,T 1 ), T 3 = Insert(9,T 2 ), T 4 = Delete(15,T 3 ) (c) Kan T 4 även ses som ett AVL-träd? 2 (a) Vilka av följande är AVL-träd? Motivera ditt svar T T T3 21 T (b) Betrakta följande AVL-träd: Visa steg för steg hur operationerna Insert(41), Insert(54), Delete(68) utförs på trädet ovan (alla operationera utförs på samma träd) Vilka rotationer utförs? 8

9 3 Vilka av följande trädstrukturer kan uppträda i korrekta AVL-träd? E F A B C D 4 Är det sant att alla AVL-träd med höjd h har färre noder än ett AVL-träd med höjd h + 1? Bevisa eller motbevisa 9

10 Le 4 Hashning Prioriterade uppgifter: 1, 2 1 Vi använder en array med indexen 0 till 6 för att implementera en hashtabell av storlek 7 Nycklarna till de insatta elementen är heltal Hashvärdet beräknas som nyckelvärdet modulo tabellängden Visa innehållet i den initialt tomma arrayen efter att följande operationer har utförts Insert(15, c), Insert(8, a), Insert(14, b), Delete(15), Insert(32, d), Insert(4, e), Insert(7, f) när följande teknik används: (a) samlad länkning, (b) öppen adressering med linjär sondering, (c) öppen adressering med dubbel hashning, där h 2 (k) = 5 k mod 5 Borttagning ska hanteras med deleted bit-tekniken 2 Betänk hashning baserad på öppen adressering med linjär sondering Vilka nackdelar finns det med att använda deleted bit-tekniken istället för att utföra borttagning baserat på omhashning av sonderingssekvensen? 3 Polisen planerar att implementera ett register över stulna bilar i form av en hashtabell med bilens registreringsnummer som nyckel Varje registreringsnummer innehåller tre bokstäver följt av tre siffor Antag att alla kombinationer uppträder med likformig sannolikhet Värdet av hashfunktionen bestäms av två tecken i registreringsnumret Vilka av följande alternativ ger en hashfunktion med bäst fördelning av värden över den interna tabellen? (a) De två sista bokstäverna, (b) De två sista siffrorna, (c) Den sista bokstaven och den sista siffran 10

11 Le 5 Prioritetskö, Heap, Union/Find Prioriterade uppgifter: 1, 4 1 Betrakta följande två arrayer av heltal A : B : Kan någon/några av dessa vara en heap i arrayrepresentation? 2 Utöka begreppet fullständigt träd (complete tree) till trinära träd, där varje nod has som mest tre barn Definiera en arrayrepresentation av sådana träd coh visa hur man kan komma åt barnen till en nod i tid O(1) 3 Betrakta den vanliga heap-baserade implementationen av ADT priority queue med en DeleteM in-operation I den implementation finns det inget effektivt sätt att komma åt och ta bort det största elementet i kön Konstruera en algoritm som transformerar heapen i en prioritetskö så att ett maximalt element kan kommas och tas bort på ett effektivt sätt Analysera tids- och minneskomplexiteten hos din algoritm 4 Betrakta följande disjunkta mängder respresenterade med up-träd enligt kursbokens kapitel 8: A B C Visa hur träden ändras av följande sekvens av operationer: Find(2); Merge(A,C); Find(4); Find(11) Använd union-by-size för unionoperationerna och path compression i findoperationerna 11

12 Le 6 Sortering Prioriterade uppgifter: 1, 2, 5, 7, 9, 11, 12 1 För föjande sekvens av heltal: [7,4,12,2,5] illustrera hur följande algoritmer opererar på sekvensen: (a) Insertion Sort (b) Heap Sort (c) In-place Quick Sort 2 Följande vektor skickas som indata till en sorteringsalgoritm: Vid något tillfälle under sortering ser vektorn ut så här: Kan algoritmen vara Insertion Sort, Selection Sort eller Heap Sort? 3 En array av poster indexerade med 1 till n innehåller information om studenter Varje post inkluderar, bland annat, studentens namn och information om huruvida studenten tagit DALG-tentan eller ej Konstruera en in-placealgoritm med körtid O(n), som placerar alla studenter som tagit DALG-tentan före de studenter som inte tagit DALGtentan 4 (a) Illustrera hur Radix Sort opererar på följande vektor av nycklar, där bokstäverna i nycklarna utgör delnycklarna för sortering: [abd, cad, bbc, aba, ccc, dab] Du behöver bara visa vektorn efter varje pass av delnyckelsortering (b) Motivera varför Bucket Sort är mindre lämpligt när nyckelrymden är stor (som i exemplet ovan) (c) Är Radix Sort stabil? Motivera eller ge ett motexempel 5 Betrakta följande sorteringsalgorithm, kallad Bubblesort: procedure Bubblesort(A[0n-1]) for i from 0 to n-2 do for j from n-1 downto i+1 do if A[j] < A[j-1] then A[j] A[j-1] Är den stabil? Vad har den för tidskomplxitet i värsta fallet? 6 (a) Vilket indata är sämst för Insertion Sort? (b) Vi vill sortera en enkellänkad lista Varför bör inte Quick Sort vara vårt första val av sorteringsalgoritm? (c) Alla jämförelsebaserade sortingsalgoritmer behöver tid Ω(n log n) i värsta fallet Vad kan vi säga om körtiden i bästa fallet för sådana algoritmer? Motivera ditt svar 7 (a) Faserna i Radix Sort består i att sortera konsekutiva fragment av nycklarna, med början vid de minst signifikanta fragmenten Vad kan vara en nackdel med att börja med de mest signifikanta fragmenten? 12

13 (b) Vilket krav bör uppfyllas av Bucket Sort för att kunna användas i faserna i Radix Sort med början i de minst signifikanta fragmenten? Diskutera hur man kan implementera Radix Sort baserat på en variant av Bucket Sort som inte uppfyller kravet 8 Vi vill sortera n strängar med maximal längd m och medellängd m tecken (medelvärdet togs över alla möjliga strängar inte över en särskild indatamängd) (a) Visa värstafallskomplexiteten för Quick Sort och Radix Sort Är körtiden för en av algoritmerna bättre än den andra för alla värstafallsdata? (b) Upprepa analysen för tidskomplexiteten i medelfallet 9 Quick Sort är inte effektiv för små indata Därför kombineras ofta algoritmen med andra sorteringsalgoritmer Betrakta till exempel följande varianter av Quick Sort: A Vi låter Quick Sort ignorera alla delsekvenser av storlek k, för någon parameter k > 0, dvs sådana delsekvenser lämnas osorterade När algoritmen terminerar är sekvensen nästan sorterad och lämnas över till Insertion Sort för slutsortering B När Quick Sort anropas för en delsekvens av storlek k anropas Insertion Sort istället på den delsekvensen Alltså begränsas de rekursiva anropen till Quick Sort till delsekvenser av storlek större än k För de olika varianterna ovan, hitta ett uttryck som beskriver hur mycket tid Insertion Sort totalt använder, som en funktion av k och storleken n av den sorterade sekvensen Ändras dessa uttryck om vi ersätter Insertion Sort med Selection Sort? 10 Du ingår in en grupp som ska skriva ett nytt program för att producera telefonkataloger För varje katalog får du abonnenterna sorterade efter telefonnummer och måste alltså sortera om dessa till alfabetisk ordning Gör en jämförande diskussion och analys av lämpligheten för Quick Sort respektive Radix Sort för denna uppgift utgående från komplexitetsbegreppet Du får antaga att primärminnet är tillräckligt stort för att rymma alla data Gör rimliga antaganden samt redogör för dessa 11 Diskutera för följande algoritmer vad som är bäst och sämst indata och illustrera dem med exempel för n = 5: Insertion Sort Quick Sort Quick Select 12 Förklara om följande påståenden är sanna eller falska Körtiden i bästa fallet för Insertion Sort är O(n) Körtiden i värsta fallet för Quick Sort är O(n 3 ) Körtiden i värsta fallet för Quick Select är O(n) 13

TDDC70/TDDC91 Datastrukturer och algoritmer Övningsuppgifter hösten 2013

TDDC70/TDDC91 Datastrukturer och algoritmer Övningsuppgifter hösten 2013 TDDC70/TDDC91 Datastrukturer och algoritmer Övningsuppgifter hösten 2013 16 september 2013 Förord Detta är en samling av typiska problem rekommenderade för lektionerna i TDDC70/TDDC91 Datastrukturer och

Läs mer

Exempeltentafrågor i TDDD86 Datastrukturer, algoritmer och programmeringsparadigm

Exempeltentafrågor i TDDD86 Datastrukturer, algoritmer och programmeringsparadigm Exempeltentafrågor i TDDD86 Datastrukturer, algoritmer och programmeringsparadigm 5 december 2014 1. Bevisa eller motbevisa följande påståenden genom att använda definitionerna. (a) (n + 1) 2 O(n 3 ) (b)

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet

Tommy Färnqvist, IDA, Linköpings universitet Föreläsning 8 Sortering och urval TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 1 oktober 2013 Tommy Färnqvist, IDA, Linköpings universitet 8.1 Innehåll Innehåll 1 Sortering

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

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

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

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

TDDI16 Datastrukturer och algoritmer. Prioritetsköer, heapar, Union/Find

TDDI16 Datastrukturer och algoritmer. Prioritetsköer, heapar, Union/Find TDDI16 Datastrukturer och algoritmer Prioritetsköer, heapar, Union/Find Prioritetsköer En vanligt förekommande situation: Väntelista (jobbhantering på skrivare, simulering av händelser) Om en resurs blir

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

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

Föreläsning Datastrukturer (DAT036)

Föreläsning Datastrukturer (DAT036) Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-18 Idag Mer om grafer: Minsta uppspännande träd (för oriktade grafer). Prims algoritm. Kruskals algoritm. Djupet först-sökning. Cykel

Läs mer

Lösningsförslag för tentamen i Datastrukturer (DAT037) från

Lösningsförslag för tentamen i Datastrukturer (DAT037) från Lösningsförslag för tentamen i Datastrukturer (DAT7) från --9 Nils Anders Danielsson. Träd- och köoperationerna har alla tidskomplexiteten O(log s), där s är antalet element i trädet/kön (notera att jämförelser

Läs mer

Tentamen med lösningsförslag Datastrukturer för D2 DAT 035

Tentamen med lösningsförslag Datastrukturer för D2 DAT 035 Tentamen med lösningsförslag Datastrukturer för D2 DAT 035 17 december 2005 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.)

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary 1 1.1 Definitioner... 1 1.2 Implementation... 2

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary 1 1.1 Definitioner... 1 1.2 Implementation... 2 Föreläsning 4 ADT Map/Dictionary, hashtabeller, skip-listor TDDC91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 9 september 2015 Tommy Färnqvist, IDA, Linköpings universitet 4.1

Läs mer

Föreläsning 4 Datastrukturer (DAT037)

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

Föreläsning Datastrukturer (DAT037)

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

Träd Hierarkiska strukturer

Träd Hierarkiska strukturer Träd Hierarkiska strukturer a 1 a 2 a 3 a 4 a 2 a 5 a 6 a 7 Hierarki: Korta vägar till många Hur korta? Linjär lista: n 2 Träd: Antal element på avståndet m: g m a 1 a 3 a 8 a 12 m = log g n a 9 a 10 Väglängden

Läs mer

Föreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna

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

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett

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

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

Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.'

Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.' Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.' Skrivtid: 08.30 13.30 Hjälpmedel: Inga Lärare: Betygsgränser DVA104' Akademin)för)innovation,)design)och)teknik) Onsdag)2014:01:15) Caroline

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

Föreläsning 2 Datastrukturer (DAT037)

Föreläsning 2 Datastrukturer (DAT037) Föreläsning 2 Datastrukturer (DAT037) Fredrik Lindblad 1 1 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037

Läs mer

Några svar till TDDC70/91 Datastrukturer och algoritmer

Några svar till TDDC70/91 Datastrukturer och algoritmer Några svar till TDDC70/91 Datastrukturer och algoritmer 2011--18 Följande är lösningsskisser och svar till uppgifterna på tentan. Lösningarna som ges här ska bara ses som vägledning och är oftast inte

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

Programmering för språkteknologer II, HT2014. Rum

Programmering 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/ Idag - Sökalgoritmer

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

Magnus Nielsen, IDA, Linköpings universitet

Magnus Nielsen, IDA, Linköpings universitet Föreläsning ADT Map/Dictionary, hashtabeller TDDC9,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 7 september 208 Magnus Nielsen, IDA, Linköpings universitet. ADT Map/Dictionary.

Läs mer

Föreläsning Datastrukturer (DAT037)

Föreläsning Datastrukturer (DAT037) Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-16 Idag Mängder, avbildningar. Hashtabeller. Sortering. Pseudokod Blandning av programmeringsspråk, matematisk notation och naturligt

Läs mer

Föreläsning 13 Innehåll

Föreläsning 13 Innehåll Föreläsning 13 Innehåll Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Heapar Implementering av prioritetskö med heap Klassen PriorityQueue i java.util Programexempel LPT-algoritmen

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift

Läs mer

Tentamen Datastrukturer för D2 DAT 035

Tentamen Datastrukturer för D2 DAT 035 Tentamen Datastrukturer för D2 DAT 035 17 december 2005 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 mer

Tommy Färnqvist, IDA, Linköpings universitet. 1 Sortering Heap-sort Merge-sort Sammanfattning... 10

Tommy Färnqvist, IDA, Linköpings universitet. 1 Sortering Heap-sort Merge-sort Sammanfattning... 10 Föreläsning 9 Heap-sort, merge-sort. Undre gränser för sortering. Sortering i linjär tid? TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 4 oktober 2013 Tommy Färnqvist,

Läs mer

Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6

Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6 Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre

Läs mer

Algoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016

Algoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016 Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016 Algoritmanalys Inledning Exempel 1: x n När vi talade om rekursion presenterade vi två olika sätt att beräkna x n, ett iterativt: x n =

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

TDDI16 Datastrukturer och algoritmer. Algoritmanalys

TDDI16 Datastrukturer och algoritmer. Algoritmanalys TDDI16 Datastrukturer och algoritmer Algoritmanalys 2017-08-28 2 Översikt Skäl för att analysera algoritmer Olika fall att tänka på Medelfall Bästa Värsta Metoder för analys 2017-08-28 3 Skäl till att

Läs mer

DAI2 (TIDAL) + I2 (TKIEK)

DAI2 (TIDAL) + I2 (TKIEK) TNTMN KURSNMN PROGRM: KURSTKNING XMINTOR lgoritmer och datastrukturer I2 (TIL) + I2 (TKIK) 2017/2018, lp 4 LT75 Uno Holmer TI ÖR TNTMN redagen den 1/8 2018, 08.0-12.0 HJÄLPML NSVRIG LÄRR atastrukturer

Läs mer

Prov i DAT 312: Algoritmer och datastrukturer för systemvetare

Prov i DAT 312: Algoritmer och datastrukturer för systemvetare Prov i DAT 312: Algoritmer och datastrukturer för systemvetare Jacek Malec Datavetenskap, LU 11 april 2003 Datum 11 april 2003 Tid 14 19 Ansvarig lärare Jacek Malec (tel. 03 9890431) Hjälpmedel inga Antal

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

Föreläsning 13 Datastrukturer (DAT037) Föreläsning 13 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-12-14 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Sammanfattning

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

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

TENTAMEN: Algoritmer och datastrukturer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

TENTAMEN: Algoritmer och datastrukturer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. 1 (8) TENTMEN: lgoritmer och datastrukturer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. örja varje uppgift på ett nytt blad. Skriv inga lösningar i tesen. Skriv ditt idnummer

Läs mer

TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:00-19:00

TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 14:00-19:00 TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 170117 kl. 14:00-19:00 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilagarna. *** OBS *** Betygsgräns:

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

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel Data- och Programstrukturer Provmoment: Ladokkod: Tentamen ges för: Omtentamen NDP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

Läs mer

Tentamen Datastrukturer, DAT037 (DAT036)

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

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer (DAT036) Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2013-12-16, 14:00 18:00. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 15:00 och

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

Ekvivalensrelationer

Ekvivalensrelationer Abstrakt datatyp för disjunkta mängder Vi skall presentera en abstrakt datatyp för att representera disjunkta mängder Kan bl.a. användas för att lösa ekvivalensproblemet avgör om två godtyckliga element

Läs mer

Lösningar Datastrukturer TDA

Lösningar Datastrukturer TDA Lösningar Datastrukturer TDA416 2016 12 21 roblem 1. roblem 2. a) Falskt. Urvalssortering gör alltid samma mängd av jobb. b) Sant. Genom att ha en referens till sista och första elementet, kan man nå både

Läs mer

Tentamen Datastrukturer (DAT037)

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

Exempeltenta GruDat 2002/2003

Exempeltenta GruDat 2002/2003 Exempeltenta GruDat 2002/2003 Endast ett svarsalternativ på varje fråga är korrekt. Felaktigt svar eller felaktigt antal ikryssade svarsalternativ ger noll poäng på uppgiften. Obs: Den riktiga tentan kommer

Läs mer

Föreläsning 13 Datastrukturer (DAT037)

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

TDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer

TDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer Tentamen i.. TDDC30/725G63 Objektorienterad programmering i Java, datastrukturer och algoritmer Datum 2012-12-21 Tid 14-18 Provkod DAT1 Institution Institutionen för Datavetenskap (IDA) Jour Johan Janzén

Läs mer

ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15 ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 160119 kl. 08:15 13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilogarna. ***

Läs mer

Översikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem

Översikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary 1 1.1 Definitioner... 1 1.2 Implementation... 2

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary 1 1.1 Definitioner... 1 1.2 Implementation... 2 Föreläsning 5 ADT Map/Dictionary, hashtabeller TDDI16: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 16 september 2015 Tommy Färnqvist, IDA, Linköpings universitet 5.1 Innehåll Innehåll

Läs mer

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

Lösningsförslag till tentamen Datastrukturer, DAT037,

Lösningsförslag till tentamen Datastrukturer, DAT037, Lösningsförslag till tentamen Datastrukturer, DAT037, 2018-04-05 1. q.dequeue() tar O(1) (eventuellt amorterat) s.contains(x) tar O(1) pq.add(x) tar O(log i) I värsta fall exekveras innehållet i if-satsen.

Läs mer

Föreläsning 2. Stackar, köer och listor TDDC91,TDDE22,725G97: DALG. Innehåll. 1 ADT stack. 1.1 Tillämpningar

Föreläsning 2. Stackar, köer och listor TDDC91,TDDE22,725G97: DALG. Innehåll. 1 ADT stack. 1.1 Tillämpningar öreläsning 2 Stackar, köer och listor TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 6 september 2018 Magnus Nielsen, IDA, Linköpings universitet x 21 Introduktion

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

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd Innehåll Föreläsning 12 Sökträd Sökning Sökning och Sökträd 383 384 Binärt sökträd Används för sökning i linjära samlingar av dataobjekt, specifikt för att konstruera tabeller och lexikon. Organisation:

Läs mer

Grundläggande datalogi - Övning 4

Grundläggande datalogi - Övning 4 Grundläggande datalogi - Övning 4 Björn Terelius November 21, 2008 Definitioner Olika mått på komplexitet Definition En funktion f sägs vara O(g) om det existerar konstanter c, N så att f (n) < cg(n) för

Läs mer

Tentamen Datastrukturer D DAT 035/INN960

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

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

Tentamen Datastrukturer (DAT036/DAT037/DIT960)

Tentamen Datastrukturer (DAT036/DAT037/DIT960) Tentamen Datastrukturer (DAT036/DAT037/DIT960) Datum och tid för tentamen: 2016-04-07, 14:00 18:00. Författare: Nils Anders Danielsson. (Tack till Per Hallgren och Nick Smallbone för feedback.) Ansvarig:

Läs mer

Datastrukturer i kursen. Föreläsning 8 Innehåll. Träd rekursiv definition. Träd

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

Föreläsning 9 Innehåll

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

Tentamen Datastrukturer D DAT 035/INN960

Tentamen Datastrukturer D DAT 035/INN960 Tentamen Datastrukturer D DAT 035/INN960 21 december 2007 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 mer

Föreläsning Datastrukturer (DAT037)

Föreläsning Datastrukturer (DAT037) Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-20 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får

Läs mer

Datastrukturer. Föreläsning 5. Maps 1

Datastrukturer. Föreläsning 5. Maps 1 Datastrukturer Föreläsning 5 Maps 1 Traversering av träd Maps 2 Preordningstraversering Traversera = genomlöpa alla noderna i ett träd Varje nod besöks innan sina delträd Preordning = djupet först Exempel:

Läs mer

Föreläsning 10 Datastrukturer (DAT037)

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

Föreläsning 6 Datastrukturer (DAT037)

Föreläsning 6 Datastrukturer (DAT037) Föreläsning 6 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-17 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Förra

Läs mer

TDDC30 Programmering i Java, datastrukturer och algoritmer

TDDC30 Programmering i Java, datastrukturer och algoritmer LINKÖPINGS UNIVERSITET Institutionen för datavetenskap Jonas Wallgren Tentamen i TDDC30 Programmering i Java, datastrukturer och algoritmer För I3, Ii3 Datum: 2009-04-17 Klockan: 14-18 Jour: Jonas Wallgren,

Läs mer

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer (DAT036) Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2012-08-24, 8:30 12:30. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 9:30 och ca

Läs mer

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) Snabba frågor Alla svar motiveras väl. Facit Tentamen TDDC30 2015-08-28 kl 08-12 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är syftet med ett interface? (1p) Svar:Att ange vilka metoder som ska finnas, utan

Läs mer

Tentamen kl Uppgift 4. Uppgift 5

Tentamen kl Uppgift 4. Uppgift 5 2D344 Grundläggande Datalogi för F Tentamen 2003-03-0 kl 4.00 9.00 Inga hjälpmedel. Endast ett svarsalternativ på varje fråga är korrekt. Felaktigt svar eller felaktigt antal ikryssade svarsalternativ

Läs mer

Föreläsning Datastrukturer (DAT037)

Föreläsning Datastrukturer (DAT037) Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-23 Idag Mer om grafer: Minsta uppspännande träd (för oriktade grafer). Djupet först-sökning. Minsta uppspännande träd Träd (utan rot)

Läs mer

Vad har vi pratat om i kursen?

Vad har vi pratat om i kursen? Vad har vi pratat om i kursen? Föreläsning 1 & 2 Systemminnet och systemstacken Rekursion Abstrakta datatyper Föreläsning 3 ADT:n Länkad lista Föreläsning 4 ADT:n Kö ADT:n Stack Föreläsning 5 Komplexitet

Läs mer

Föreläsning 5 Datastrukturer (DAT037)

Föreläsning 5 Datastrukturer (DAT037) Föreläsning 5 Datastrukturer (DAT037) Nils Anders Danielsson, Fredrik Lindblad 2016-11-14 Förra gången: Cirkulära arrayer Prioritetskö Binära heapar Leftistheapar merge Det verkar inte gå att slå ihop

Läs mer

Lösningsförslag för tentamen i Datastrukturer (DAT036) från

Lösningsförslag för tentamen i Datastrukturer (DAT036) från Lösningsförslag för tentamen i Datastrukturer (DAT036) från 2011-12-16 Nils Anders Danielsson 1. Låt oss benämna indatalistan strängar. Vi kan börja med att beräkna varje strängs frekvens genom att använda

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet

Tommy Färnqvist, IDA, Linköpings universitet öreläsning 3 Stackar, köer och listor TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 10 september 2013 Tommy ärnqvist, IDA, Linköpings universitet 31 Innehåll Introduktion

Läs mer

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) Snabba frågor Alla svar motiveras väl. Facit Tentamen TDDC30 2015-03-19 kl 08-12 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Varför väljer man ofta synligheten private hellre än public för medlemsvariabler i en klass?

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

Facit Tentamen TDDC kl (6)

Facit Tentamen TDDC kl (6) Facit Tentamen TDDC30 2015-03-19 kl 14-18 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Ge ett exempel på ett kodstycke som orsakar ett NullPointerException. (1p) Svar:Animal

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Algoritmanalys Tidskomplexitet, Rumskomplexitet

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

Föreläsning 1. Introduktion. Vad är en algoritm?

Föreläsning 1. Introduktion. Vad är en algoritm? Några exempel på algoritmer. Föreläsning 1. Introduktion Vad är en algoritm? 1. Häll 1 dl havregryn och ett kryddmått salt i 2 1 2 dl kallt vatten. Koka upp och kocka gröten ca 3minuter. Rör om då och

Läs mer

Det ä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.

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

Föreläsning 1 Datastrukturer (DAT037)

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

Lösningsförslag till tentamen Datastrukturer, DAT037 (DAT036), Tiden det tar att utföra en iteration av loopen är oberoende av värdet på

Lösningsförslag till tentamen Datastrukturer, DAT037 (DAT036), Tiden det tar att utföra en iteration av loopen är oberoende av värdet på Lösningsförslag till tentamen Datastrukturer, DAT037 (DAT036), 2017-01-11 1. Loopen upprepas n gånger. getat på en dynamisk array tar tiden O(1). member på ett AVL-träd av storlek n tar tiden O(log n).

Läs mer

F5: Debriefing OU2, repetition av listor, träd och hashtabeller. Carl Nettelblad

F5: 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 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

Algoritmer och datastrukturer TDA143

Algoritmer och datastrukturer TDA143 Algoritmer och datastrukturer TDA143 2017 02 15 Uno Holmer Algoritmer och datastrukturer, TDA143, HT17, UH Algoritm Informell beskrivning: Ett antal steg som beskriver hur en uppgift utförs. Formell beskrivning:

Läs mer