Exempeltentafrågor i TDDD86 Datastrukturer, algoritmer och programmeringsparadigm
|
|
- Gunilla Bengtsson
- för 8 år sedan
- Visningar:
Transkript
1 Exempeltentafrågor i TDDD86 Datastrukturer, algoritmer och programmeringsparadigm 5 december 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. 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)) 3. Är det sant att om log f(n) O(log g(n)) så gäller f(n) O(g(n))? Motivera svaret. 4. 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? 5. Visa att f Θ(g) om och endast om g Θ(f). (Alltså partitionerar Θ klassen av alla funktioner i ekvivalensklasser.) 6. Algoritmerna A och B har värstafallskomplexitet O(n 2 ) respektive O(n log 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 Θ(n log n)? 7. 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? 1
2 (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? (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? 8. 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 9. 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. 2
3 10. 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[1..n]): boolean first 1 last n f ound false while first last and not found do index (first + last)/2 if i = A[index] then found true elsif i < A[index] then last index 1 else first index + 1 return f ound 11. 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) 12. Analysera tids- och minneskomplexitet för följande funktion (som antar att n > 1): procedure PrintC(integer n): array A[1..n] 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 13. 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. 14. Förklara hur man kan implementera två stackar i en vektor T [0..n] 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. 15. En sträng är ett palindrom om den blir samma sträng baklänges (t.ex. strängen na- 3
4 turrutan. 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? 16. 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? 17. 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: addf ront(e, D) lägger till elementet E först i deque D, deletef ront(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. 4
5 18. Den här uppgiften handlar om algoritmanalys. (a) Vad gör följande algoritm? Analysera dess exekveringstid i värsta fallet. Require: två heltal, a 0 och n 0 Ensure:? function Foo(a, n) k 0 b 1 while k < n do k k + 1 b b a return b (b) Vad gör följande algoritm? Analysera dess exekveringstid i värsta fallet. Require: två heltal, a 0 och n 0 Ensure:? function Bar(a, n) k n b 1 c a while k > 0 do if k mod 2 = 0 then k k/2 c c c else k k 1 b b c return b 19. Låt A och B vara två sekvenser av heltal. Antag att båda sekvenserna har längd n. Beskriv en algoritm med exekveringstid O(n log n) som givet ett heltal m bestämmer om det finns ett heltal a i A och ett heltal b i B sådana att m = a + b. 20. Antag att du får givet ett diagram över ett telefonnätverk ritat som en graf G vars noder representerar telefonväxlar och vars bågar representerar kommunikationslinjer mellan två växlar. Bågarna är märkta med sin bandbredd. Bandbredden av en väg i G är bandbredden av den båge i vägen som har lägst bandbredd. Beskriv en algoritm som givet ett diagram och två telefonväxlar a och b returnerar den maximala bandbredden för en väg mellan a och b. (Returnera bara den maximala bandbredden; du behöver inte returnera den faktiska vägen.) Du kan anta att grafen i diagrammet är enkel och sammanhängande samt att alla bandbredder är ickenegativa. Analysera tidskomplexiteten hos din algoritm. 21. Ett polynom av grad n är ett uttryck på formen a 0 + a 1 x a n x n där a 0,..., a n är konstanter, a n 0 och x är en variabel över R. (a) Ge pseudokod för en algoritm som, utgående från uttrycket ovan, beräknar värdet av ett polynom av grad n för ett givet värde på x. Analysera tidskomplexiteten för din algoritm under antagandet att x i inte är en primitiv operation utan måste beräknas genom multiplikation. 5
6 (b) Beskriv en annan algoritm för att, under samma antaganden, beräkna värdet av ett polynom av grad n i tid Θ(n). Kan du koppla lösningen till ett av de algoritmiska paradigm som diskuterats i kursen? 22. I en sökning efter ett element x i ett binärt sökträd kallas listan av noder x jämförs med nyckelsekvensen för sökningen. Antag att vi har talen från 1 till 1000 insatta i ett binärt sökträd och att vi vill söka efter talet 363. Förklara varför följande inte kan vara nyckelsekvensen för sökningen: 925, 202, 911, 240, 912, 245, Följande kodsnutt upphittades i en datorsal: public Object foo (Sequence S, Comparator C, int k, int a, int b) { int c = partition(s,c,a,b); if (c == k) { return S.elemAtRank(k); else if (c < k) { return foo(s,c,k,c+1,b); else { return foo(s,c,k,a,c-1); public int partition (Sequence S, Comparator C, int left_bound, int right_bound) { Object pivot = S.atRank(right_bound).element(); int left_index = left_bound, right_index = right_bound-1; while (left_index <= right_index) { while ((left_index <= right_index) && C.isLessThanOrEqualTo(S.atRank(left_index).element(),pivot)) { left_index++; while ((right_index >= left_index) && C.isGreaterThanOrEqualTo(S.atRank(right_index).element(),pivot)) { right_index--; if (left_index < right_index) { S.swap(S.atRank(left_index),S.atRank(right_index)); S.swap(S.atRank(left_index),S.atRank(right_bound)); return left_index; Olyckligtvis verkar inte författaren vara DALP-student, eftersom det inte finns några kommentarer och vissa variabelnamn är olyckligt valda. Kodens andra del känns lätt igen som partitioneringssteget i Quicksort, men den första delen är lite mystisk. Din uppgift är att lista ut vad den här algoritmen gör genom att göra följande saker: (a) Stega genom en exekvering av foo(s,c,5,0,7), där S är sekvensen (C, H, B, E, J, G, D, A) och C är en jämförelseoperator för bokstäver som ordnar dem i alfabetisk ordning. Det första steget visas nedan; fortsätt genom att visa alla anrop till foo och partition och deras returvärden samt när platsbyten sker och hur de förändrar S. Vilket värde returneras till slut av anropet foo(s,c,5,0,7)? foo(s,c,5,0,7) // S is (C,H,B,E,J,G,D,A) partition(s,c,0,7) swap elements at ranks 0 and 7 // S is now (A,H,B,E,J,G,D,C) 6
7 return 0 foo(s,c,5,1,7) // c is 0; choose c < k case since 0 < 5 (b) Vad gör foo(s,c,k,a,b) i allmänhet? Antag att k, a och b har giltiga värden. 24. Algoritmkonstruktion Lisa och Sluggo bygger en robot i en projektkurs de läser och har upptäckt att de behöver passa in två legobitar sida vid sida i en öppning. Öppningen är x centimeter bred och summan av de två bitarnas bredder måste vara precis lika med öppningens bredd, annars faller roboten sönder under demonstrationen. De två konstruktörerna har tillgång till en enorm mängd legobitar med varierande bredder och måste välja två bitar som uppfyller ovanstående villkor. Eftersom vi på IDA tycker att allt ska göras enligt väldefinierade algoritmer är din uppgift att förse Lisa och Sluggo med en asymptotiskt effektiv algoritm för att lösa deras problem! Mer specifikt får du en mängd S bestående av n reella tal och ytterligare ett reellt tal x. Beskriv en algoritm, med exekveringstid O(n log(n)), som avgör huruvida det finns två element i S vars summa är exakt x eller ej. 25. Omöjligt? Din kompis Egbert är känd för att komma med fantastiska påståenden. Vilka av Egberts påståenden nedan är möjliga respektive omöjliga? Svar utan motivering ger inga poäng. (a) Egbert säger: Jag har en ny algoritm som kan sortera listor i linjär tid, förutsatt att varje elements position i den osorterade listan inte är mer än 1000 steg bort från rätt position i den sorterade listan. (b) Egbert säger: Jag har en ny algoritm som kan hitta det största talet i en given osorterad array i logaritmisk tid. (c) Egbert säger: Jag har en ny algoritm som kan sortera vilken lista som helst i linjär tid, bara jag får en lämplig jämförelsefunktion. 26. Om a är en array av längd m, där varje element a[i] är ett heltal mellan 0 och n 1, vad är värstafallstiden för en körning av följande kodsnutt? k = 0; for ( int i = 0; i < m; ++i ) { for ( int j = 0; j < a[i]; ++j ) { b[k] = i; ++k; Om det också är känt att summan av alla element i a är n, vad blir då exekveringstiden för kodsnutten ovan? 27. Träd (a) Den totala längden av ett träd T är summan av avstånden från roten av T till alla andra noder i T. Beskriv en algoritm som får som indata roten r till ett binärt träd och som returnerar den totala längden av trädet. Analysera tidskomplexiteten hos din algoritm. 7
8 (b) En grupp biologer lagrar information om DNA-strukturer i ett AVL-träd där de använder strukturens specifika vikt (ett heltal) som nyckel. Biologerna behöver hela tiden svara på frågor av typen Finns det några strukturer i trädet med specifik vikt mellan a och b (inklusivt)? och de hoppas på så snabba svar som möjligt. Beskriv en algoritm som, givet heltal a och b, returnerar sant om det finns en nyckel x i trädet, sådan att a x b, och falskt om ingen sådan nyckel existerar i trädet. Vad har din algoritm för tidskomplexitet? 28. En array är bitonisk om den innehåller en strikt ökande sekvens av nycklar omedelbart följd av en strikt avtagande sekvens av nycklar. Beskriv en algoritm som hittar den största nyckeln i en bitonisk array av längd N i tid proportionell mot log(n). 29. Antag att du behöver generera en slumpmässig permutation av heltalen från 1 till N. Exempelvis är {4, 3, 1, 5, 2 och {3, 1, 4, 2, 5 giltiga permutationer, men {5, 4, 1, 2, 1 är inte en giltig permutation eftersom ett tal saknas och ett tal förekommer två gånger. En sådan metod kommer ofta till användning i olika typer av simuleringar. Vi antar att vi har tillgång till en slumptalsgenerator, r, med metoden randint(i,j), som generar heltal mellan i och j med likformig sannolikhet. Här är tre algoritmer: 1. Fyll arrayen a från a[0] till a[n-1] enligt följande: För att fylla i a[i], generera slumptal till ett dyker upp som inte redan finns i a[0], a[1],..., a[i-1]. 2. Samma som algoritm (1), men håll reda på en extra array used. När ett slumptal ran först sätts in i a, sätt used[ran]=true. Detta betyder att när a[i] ska fyllas i med ett slumptal kan vi testa i ett steg om slumptalet redan använts. 3. Fyll i arrayen så att a[i]=i+1 håller. Gör sedan följande: for ( int i = 1; i < N; i++ ) { swap( a[i], a[ randint( 0, i )] ); Det är inte svårt att se att alla tre algoritmer ovan genererar giltiga permutationer. De första två algoritmerna har tester som garanterar att inga dubletter genereras och den tredje algoritmen blandar om i en array som initialt är fri från dubletter. Det är också lätt att se att de två första algoritmerna är helt slumpmässiga och att varje permutation är lika sannolik. Den tredje algoritmen, konstruerad av R. Floyd, är inte lika lätt att förstå sig på, men det går att visa att även denna algoritm är helt slumpmässig med hjälp av induktion. (a) Gör en asymptotisk analys av den förväntade körtiden för varje algoritm. (b) Vad är exekveringstiden i värsta fall för respektive algoritm? 30. Vi använder en array med indexen 0 till 6 för att implementera en öppet adresserad hashtabell av längd 7 med följande tabell som hashfunktion: nyckel hashvärde A 5 B 2 C 5 D 1 E 4 F 1 G 3 8
9 Antag att linjär sondering (linear probing) används för att hantera kollisioner. (a) Visa hur arrayen ser ut efter att nycklarna har satts in i alfabetisk ordning: A, B, C, D, E, F, G. (b) Vilka av följande skulle kunna vara innehållet i arrayen efter att nycklarna har satts in i någon ordning? I. II. III A F D B G E C F A D B G E C C A B G F E D 31. En mängd K = {k 1,..., k n av n 1 nycklar ska lagras i ett AVL-träd. Vilket av följande påståenden är alltid sant? (A) Om k i är den minsta nyckeln i K så kommer vänster barn till noden som lagrar k i i varje AVL-träd som lagrar K vara ett löv. (B) Alla AVL-träd som lagrar K har exakt samma höjd oavsett vilken ordning nycklarna sätts in i trädet. (C) En preordertraversering av ett AVL-träd som lagrar K besöker noderna i ökande nyckelordning. (D) I varje AVL-träd som lagrar K är nyckeln som lagras i roten av trädet samma, oavsett ordningen nycklarna sätts in i trädet. (E) Inget av påståendena ovan är alltid sant. 32. Givet två arrayer a[] och b[], innehållandes M respektive N punkter i planet (med N M), konstruera en algoritm som avgör hur många punkter som förekommer i båda arrayerna. Exekveringstiden för din algoritm ska vara proportionell mot N log M i värsta fallet och får bara använda en konstant mängd extra minne. Motivera att din algoritm klarar av dessa krav. 33. Randomiserade prioritetsköer. Beskriv, gärna med pseudokod, hur man kan lägga till metoderna sample() och removerandom() till en implementation av ADT Priokö. De två metoderna returnerar en nyckel som väljs ut slumpmässigt med likformig sannolikhet bland nycklarna som för tillfället är insatta i prioritetskön, där den senare metoden också tar bort den nyckeln ur prioritetskön. PQ() void insert(key key) Key min() Key removemin() Key sample() Key removerandom() skapa en tom prioritetskö sätt in en nyckel i prioritetskön returnera den minsta nyckeln ta bort och returnera den minsta nyckeln returnera en nyckel vald med likformig sannolikhet ta bort och returnera en nyckel vald med likformig sannolikhet Antag att du har tillgång till en slumptalsgenereator Random.uniform(N) som returnerar slumptal mellan 0 och N 1 med likformig sannolikhet. Din implementation av sample() får bara använda konstant tid, medan removerandom() får använda tid proportionell mot log N, där N är antalet nycklar i datastrukturen. 9
10 34. Kolumnen nedan till vänster innehåller strängar som ska sorteras, kolumnen nedan till höger är strängarna i sorterad ordning, övriga kolumner visar innehållet vid något mellanliggande steg i ett anrop till de fyra sorteringsalgoritmerna listade nedan. Para ihop varje algoritm med rätt kolumn. Använd varje algoritm exakt en gång. COS ARC ARC ARC REL ARC PHY CHE CHE ART PHY ART ELE COS COS CEE PHY CEE COS COS COS CHE ELE CHE MAT ECO ECO CHM PHI CHM MOL ELE EEB COS ORF COS LIN GEO ELE COS ORF COS ARC LIN ELE COS COS COS ECO MAE ENG COS ELE COS CHE MAT GEO COS EEB COS MAE MOL LIN COS MUS COS GEO PHY MAE ECO GEO ECO ORF ORF MAT ORF ORF EEB EEB EEB MOL EEB MAT EEB ENG ENG ORF ENG LIN ELE ELE ELE PHY ELE COS ELE COS COS ART MOL COS ELE ELE ELE CEE ELE ECO ENG CEE CEE COS ELE CEE GEO EEB EEB EEB EEB CHE LIN ART ART ELE PHY ART MAE MUS MUS MUS MUS MAT MAT PHI PHI ORF PHI MAE MAT ORF ORF PHI ORF ELE MOL COS COS COS GEO COS MUS PHY PHY PHY PHY MOL ORF COS COS COS LIN COS ORF MAT MAT MAT MAT EEB ORF CHM CHM CHM MAT CHM PHI ORF ORF ORF ORF ENG PHY COS COS COS MAE COS PHY REL REL REL REL ARC REL :a 2: 3: 4: 5: 6:b (a) Indata (b) Sorterad sekvens (c) Selection-sort (d) Insertion-sort (e) Merge-sort (f) Heap-sort (in-place) 35. Låt A och B vara två mängder av heltalsnycklar. Vi säger att A separerar B om det finns tre nycklar x < y < z, sådana att x och z finns i B och y finns i A. Antag att alla nycklar är distinkta, att nycklarna i A lagras i ett balanserat binärt sökträd T A av lämplig sort och att nycklarna i B lagras i ett balanserat binärt sökträd T B. Konstruera en algoritm som tar T A och T B som indata och avgör ifall A separerar B. Din algoritm ska ha exekveringstid O(log n), där n är det totala antalet nycklar i A och B, i värsta fallet. Notera att din algoritm får använda sig av ev. interna metoder sökträden har och inte behöver begränsa sig till insert, remove och find. Beskriv din algoritm med pseudokod eller naturligt språk och förklara varför dess värstfallskomplexitet är O(log n). 10
11 36. Analysera den asymptotiska exekveringstiden för nedanstående kodsnuttar. (a) sum = 0; for (i = 0; i < n; i++) for (j = 0; j < i * i; j++) for (k = 0; k < j; k++) sum++; (b) sum = 0; for (i = 1; i < n; i++) for (j = 1; j < i * i; j++) if (j % i == 0) for (k = 0; k < j; k++) sum++; 37. En sammanhängaande oriktad graf G = (V, E) kallas 2-färgbar om och endast om det finns en funktion f : V {red, blue sådan f(v) f(w) när det finns en båge mellan v och w; med andra ord, inga grannar tilldelas samma färg. Konstruera en algoritm med polynomisk värstafallstid som avgör ifall en sammanhängande oriktad graf är 2-färgbar eller ej. Förklara noggrannt varför din algoritm fungerar och varför den bara använder polynomisk tid. Tips: använd en girig approach. 38. Beskriv en effektiv implementation av ADT Dictionary för att lagra n element som har en associerad mängd av r < n nycklar som kommer från en totalordning. Alltså, mängden mycklar är mindre än mängden element. Din implementation ska kunna utföra operationen getall i O(log(r) + s) förväntad tid, där s är antalet element som returneras, operationen entryset() i O(n) tid och resterande operationer i ADT Dictionary i O(log(r)) förväntad tid. 39. ADT Map Antag att en applikation endast använder tre operationer, insert(), find(), and remove(). (a) Under vilka omständigheter skulle du använda ett splayträd istället för en hashtabell? (b) Under vilka omständigheter skulle du använda ett (2, 4)-träd istället för ett splayträd? (c) Under vilka omständigheter skulle du använda en osorterad array istället för ett (2, 4)-träd? 40. Konstruera en algoritm för att hitta det minsta antalet bågar som behöver tas bort från en given oriktad graf så att den resulterande grafen är acyklisk. 11
TDDI16 Datastrukturer och algoritmer Övningsuppgifter hösten 2014
TDDI16 Datastrukturer och algoritmer Övningsuppgifter hösten 2014 19 augusti 2014 Förord Detta är en samling av typiska problem rekommenderade för lektionerna i TDDI16 Datastrukturer och algoritmer Samlingen
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
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
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
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
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:
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ö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
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
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
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
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
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
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.)
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
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 =
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
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
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
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
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,
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
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
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
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:
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:
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
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
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
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:
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
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
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
Föreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
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
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
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
Ö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
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
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ö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
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
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
Föreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-13 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
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
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:
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
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
Tentamen Datastrukturer (DAT036)
Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2014-04-25, 14:00 18:00. Författare: Nils Anders Danielsson. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker
Programkonstruktion och Datastrukturer
Programkonstruktion och Datastrukturer VT 2012 Tidskomplexitet Elias Castegren elias.castegren.7381@student.uu.se Problem och algoritmer Ett problem är en uppgift som ska lösas. Beräkna n! givet n>0 Räkna
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
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
Föreläsning 8 Datastrukturer (DAT037)
Föreläsning 8 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-23 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
Föreläsning 5: Grafer Del 1
2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första
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
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,
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
Föreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek
Föreläsning 5 Innehåll Val av algoritm och datastruktur Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Det räcker inte med att en algoritm är korrekt
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
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
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ö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
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
Tommy Färnqvist, IDA, Linköpings universitet. 2 Rekursion i C Implementation av rekursion Svansrekursion En till övning...
Föreläsning 15 Rekursion TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 2 november 2015 Tommy Färnqvist, IDA, Linköpings universitet 15.1 Innehåll
Föreläsning 8 Datastrukturer (DAT037)
Föreläsning 8 Datastrukturer (DAT037) Fredrik Lindblad 1 22 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
Tentamen Datastrukturer (DAT036)
Tentamen Datastrukturer (DAT036) Det här är inte originaltesen. Uppgift 6 var felaktigt formulerad, och har rättats till. Datum och tid för tentamen: 2011-12-16, 8:30 12:30. Ansvarig: Nils Anders Danielsson.
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 =
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
Tentamen 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.
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
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
Tentamen Datastrukturer D DAT 036/INN960
Tentamen Datastrukturer D DAT 036/INN960 18 december 2009 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. Betygsgränser, CTH: 3 = 24 p, 4 = 36 p, 5 = 48 p, GU:
Datastrukturer. föreläsning 10. Maps 1
Datastrukturer föreläsning 10 Maps 1 Minsta uppspännande träd Maps 2 Minsta uppspännande träd Uppspännande träd till graf fritt delträd innehåller alla noderna Minsta uppspännande träd (MST) är det uppspännande
Föreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2012-11-13 Idag Mer om grafer: Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. Floyd-Warshall. Topologisk sortering
Tentamen (del 2) (4 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)
Tentamen (del 2) (4 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201) Lars-Henrik Eriksson Onsdag 20 mars 2013, kl. 08:00 11:00, i Bergsbrunnagatans skrivsal 1 Hjälpmedel: Inga. Inte heller
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
Fredag 10 juni 2016 kl 8 12
KTH CSC, Alexander Baltatzis DD1320/1321 Lösningsförslag Fredag 10 juni 2016 kl 8 12 Hjälpmedel: En algoritmbok (ej pythonkramaren) och ditt eget formelblad. För betyg E krävs att alla E-uppgifter är godkända,
Tentamen Datastrukturer D DAT 035/INN960 (med mycket kortfattade lösningsförslag)
Tentamen Datastrukturer D DAT 035/INN960 (med mycket kortfattade lösningsförslag) 21 december 2007 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng
Tentamen, 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
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
Tentamen Datastrukturer D DAT 036/INN960
Tentamen Datastrukturer D DAT 036/INN960 18 december 2009 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. Betygsgränser, CTH: 3 = 24 p, 4 = 36 p, 5 = 48 p, GU:
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
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
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
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
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
Teoretisk 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
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
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ö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).
Upplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)
Binära träd Algoritmer och Datastrukturer Markus Saers markus.saers@lingfil.uu.se Upplägg Binära träd (9) Binära sökträd (0.) Träd Många botaniska termer Träd, rot, löv, gren, Trädets rot kan ha ett antal
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
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)
TENTAMEN: Algoritmer och datastrukturer. Läs detta!
(6) TENTAMEN: Algoritmer och datastrukturer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att vi inte
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
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
Föreläsning 6 Datastrukturer (DAT037)
Föreläsning 6 Datastrukturer (DAT037) Fredrik Lindblad 1 15 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
Algoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet
Föreläsning 5 Innehåll Algoritmer och effektivitet Algoritmer och effektivitet Att bedöma, mäta och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Undervisningsmoment: föreläsning 5, övningsuppgifter
TENTAMEN: Algoritmer och datastrukturer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (7) 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