Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4
|
|
- Barbro Isaksson
- för 2 år sedan
- Visningar:
Transkript
1 Grafer, traversering Koffman & Wolfgang kapitel 1, avsnitt 4 1
2 Traversering av grafer De flesta grafalgoritmer innebär att besöka varje nod i någon systematisk ordning precis som med träd så finns det olika sätt att göra detta på De två vanligaste metoderna är: bredden-först-sökning djupet-först-sökning
3 BFS: Bredden-först-sökning Vid bredden-först så besöker vi noderna i följande ordning: besök startnoden först sedan alla angränsande noder sedan alla noder som kan nås via två bågar sedan alla noder som kan nås via tre bågar och så vidare Vi besöker alltså alla noder som kan nås i k steg, innan vi besöker de noder som kan nås i k+1 steg. Eftersom ingen nod är speciell så antar vi för enkelhets skull att nod nr är startnoden. 3
4 Example of a Breadth-First Search unvisited visited identified
5 Example of a Breadth-First 5 Identify the start node unvisited visited identified
6 Example of a Breadth-First While visiting it, we can identify its adjacent nodes unvisited visited identified
7 Example of a Breadth-First We identify its adjacent nodes and add them to a queue of identified nodes Visit sequence: 9 8 unvisited visited identified
8 Example of a Breadth-First We identify its adjacent nodes and add them to a queue of identified nodes Queue: 1, 3 7 Visit sequence: 9 8 unvisited visited identified
9 Example of a Breadth-First 5 We color the node as visited Queue: 1, 3 Visit sequence: unvisited visited identified
10 Example of a Breadth-First The queue determines which nodes to visit next Queue: 1, 3 7 Visit sequence: 9 8 unvisited visited identified
11 Example of a Breadth-First Visit the first node in the queue, Queue: 1, 3 7 Visit sequence: 9 8 unvisited visited identified
12 Example of a Breadth-First Visit the first node in the queue, Queue: 3 7 Visit sequence:, unvisited visited identified
13 Example of a Breadth-First Select all its adjacent nodes that have not been visited or identified Queue: 3 7 Visit sequence:, unvisited visited identified
14 Example of a Breadth-First Select all its adjacent nodes that have not been visited or identified Queue: 3,, 4, 6, 7 7 Visit sequence:, unvisited visited identified
15 Example of a Breadth-First 5 Now that we are done with 1, we color it as visited Queue: 3,, 4, 6, 7 Visit sequence:, unvisited visited identified
16 Example of a Breadth-First and then visit the next node in the queue, 3 (which was identified in the first selection) Queue: 3,, 4, 6, 7 7 Visit sequence:, unvisited visited identified
17 Example of a Breadth-First and then visit the next node in the queue, 3 (which was identified in the first selection) Queue:, 4, 6, 7 7 Visit sequence:, 1, unvisited visited identified
18 Example of a Breadth-First 3 has two adjacent vertices. has already been visited and has already been identified. We are done with Queue:, 4, 6, 7 7 Visit sequence:, 1, unvisited visited identified
19 Example of a Breadth-First 5 The next node in the queue is Queue:, 4, 6, 7 Visit sequence:, 1, unvisited visited identified
20 Example of a Breadth-First 5 The next node in the queue is Queue: 4, 6, 7 Visit sequence:, 1, 3, unvisited visited identified
21 Example of a Breadth-First 8 and 9 are the only adjacent vertices not already visited or identified Queue: 4, 6, 7, 8, 9 7 Visit sequence:, 1, 3, 9 8 unvisited visited identified
22 Example of a Breadth-First 5 4 is next Queue: 6, 7, 8, 9 Visit sequence:, 1, 3,, unvisited visited identified
23 Example of a Breadth-First 5 is the only vertex not already visited or identified Queue: 6, 7, 8, 9, 5 7 Visit sequence:, 1, 3,, unvisited visited identified
24 Example of a Breadth-First 6 has no vertices not already visited or identified Queue: 7, 8, 9, 5 7 Visit sequence:, 1, 3,, 4, unvisited visited identified
25 Example of a Breadth-First 6 has no vertices not already visited or identified Queue: 7, 8, 9, 5 7 Visit sequence:, 1, 3,, 4, unvisited visited identified
26 Example of a Breadth-First 7 has no vertices not already visited or identified Queue: 8, 9, 5 7 Visit sequence:, 1, 3,, 4, 6, unvisited visited identified
27 Example of a Breadth-First 7 has no vertices not already visited or identified Queue: 8, 9, 5 7 Visit sequence:, 1, 3,, 4, 6, unvisited visited identified
28 Example of a Breadth-First 5 We go back to the vertices of and visit them Queue: 8, 9, 5 Visit sequence:, 1, 3,, 4, 6, unvisited visited identified
29 Example of a Breadth-First 8 has no vertices not already visited or identified Queue: 9, 5 7 Visit sequence:, 1, 3,, 4, 6, 7, unvisited visited identified
30 Example of a Breadth-First 9 has no vertices not already visited or identified Queue: 5 7 Visit sequence:, 1, 3,, 4, 6, 7, 8, unvisited visited identified
31 Example of a Breadth-First 5 Finally we visit Queue: 5 Visit sequence:, 1, 3,, 4, 6, 7, 8, unvisited visited identified
32 Example of a Breadth-First which has no vertices not already visited or identified Queue: empty 7 Visit sequence:, 1, 3,, 4, 6, 7, 8, 9, unvisited visited identified
33 Example of a Breadth-First The queue is empty; all vertices have been visited Queue: empty 7 Visit sequence:, 1, 3,, 4, 6, 7, 8, 9, unvisited visited identified
34 Algoritm för bredden-först
35 Bredden-först-sökträdet Vi kan bygga ett träd som består av de bågar som vi faktiskt utnyttjade vid sökningen. Detta träd har alla noder och en del av bågarna från originalgrafen. Informationen som behövs för att representera sökträdet, kan lagras i ett fält: Där lagrar vi föräldern till varje båge när den identifieras. Vi kan förfina steg 7 i algoritmen såhär: 7.1. Stoppa in nod v i kön 7.. Sätt v:s förälder till u 35
36 DFS: Djupet-först-sökning Vid djupet-först-sökning så besöker vi noderna i följande ordning: besök startnoden först välj en angränsande nod att besöka sedan en angränsande nod till denna och så vidare tills det inte finns några fler noder sedan backar vi och kollar ifall vi kan hitta en annan angränsande båge och så vidare 36
37 Example of a Depth-First Search unvisited visited being visited
38 Example of a Depth-First Mark as being visited 1 Discovery (Visit) order: Finish order: unvisited visited being visited
39 Example of a Depth-First Choose an adjacent vertex that is not being visited 1 Discovery (Visit) order: Finish order: unvisited visited being visited
40 Example of a Depth-First Choose an adjacent vertex that is not being visited 1 Discovery (Visit) order:, 1 Finish order: unvisited visited being visited
41 Example of a Depth-First (Recursively) choose an adjacent vertex that is not being visited 1 Discovery (Visit) order:, 1, 3 Finish order: unvisited visited being visited
42 Example of a Depth-First (Recursively) choose an adjacent vertex that is not being visited 1 Discovery (Visit) order:, 1, 3 Finish order: unvisited visited being visited
43 Example of a Depth-First (Recursively) choose an adjacent vertex that is not being visited 1 Discovery (Visit) order:, 1, 3, 4 Finish order: unvisited visited being visited
44 Example of a Depth-First There are no vertices adjacent to 4 that are not being visited 1 Discovery (Visit) order:, 1, 3, 4 Finish order: unvisited visited being visited
45 Example of a Depth-First Mark 4 as visited 1 Discovery (Visit) order:, 1, 3, 4 Finish order: unvisited visited being visited
46 Example of a Depth-First Return from the recursion to 3; all adjacent nodes to 3 are being visited 1 Finish order: unvisited visited being visited
47 Example of a Depth-First Mark 3 as visited 1 Finish order: 4, unvisited visited being visited
48 Example of a Depth-First Return from the recursion to 1 1 Finish order: 4, unvisited visited being visited
49 Example of a Depth-First All vertices adjacent to 1 are being visited 1 Finish order: 4, unvisited visited being visited
50 Example of a Depth-First Mark 1 as visited 1 Finish order: 4, 3, unvisited visited being visited
51 Example of a Depth-First Return from the recursion to 1 Finish order: 4, 3, unvisited visited being visited
52 Example of a Depth-First is adjacent to 1 and is not being visited 1 Finish order: 4, 3, unvisited visited being visited
53 Example of a Depth-First is adjacent to 1 and is not being visited 1 Discovery (Visit) order:, 1, 3, 4, Finish order: 4, 3, unvisited visited being visited
54 Example of a Depth-First 5 is adjacent to and is not being visited 1 Discovery (Visit) order:, 1, 3, 4, Finish order: 4, 3, unvisited visited being visited
55 Example of a Depth-First 5 is adjacent to and is not being visited 1 Discovery (Visit) order:, 1, 3, 4,, 5 Finish order: 4, 3, unvisited visited being visited
56 Example of a Depth-First 6 is adjacent to 5 and is not being visited 1 Discovery (Visit) order:, 1, 3, 4,, 5 Finish order: 4, 3, unvisited visited being visited
57 Example of a Depth-First 6 is adjacent to 5 and is not being visited 1 Discovery (Visit) order:, 1, 3, 4,, 5, 6 Finish order: 4, 3, unvisited visited being visited
58 Example of a Depth-First There are no vertices adjacent to 6 not being visited; mark 6 as visited 1 Discovery (Visit) order:, 1, 3, 4,, 5, 6 Finish order: 4, 3, unvisited visited being visited
59 Example of a Depth-First There are no vertices adjacent to 6 not being visited; mark 6 as visited 1 Discovery (Visit) order:, 1, 3, 4,, 5, 6 Finish order: 4, 3, 1, unvisited visited being visited
60 Example of a Depth-First Return from the recursion to 5 1 Finish order: 4, 3, 1, unvisited visited being visited
61 Example of a Depth-First Mark 5 as visited 1 Finish order: 4, 3, 1, unvisited visited being visited
62 Example of a Depth-First Mark 5 as visited 1 Finish order: 4, 3, 1, 6, unvisited visited being visited
63 Example of a Depth-First Return from the recursion to 1 Finish order: 4, 3, 1, 6, unvisited visited being visited
64 Example of a Depth-First Mark as visited 1 Finish order: 4, 3, 1, 6, unvisited visited being visited
65 Example of a Depth-First Mark as visited 1 Finish order: 4, 3, 1, 6, 5, unvisited visited being visited
66 Example of a Depth-First Return from the recursion to 1 Finish order: 4, 3, 1, 6, 5, unvisited visited being visited
67 Example of a Depth-First There are no nodes adjacent to not being visited 1 Finish order: 4, 3, 1, 6, 5, unvisited visited being visited
68 Example of a Depth-First Mark as visited 1 Discovery (Visit) order:, 1, 3, 4,, 5, 6, Finish order: 4, 3, 1, 6, 5,, unvisited visited being visited
69 Upptäcktsordning Upptäcktsordningen (discovery order) är den ordning vilken noderna upptäcks:, 1, 3, 4,, 5, 6 i detta exempel Avslutningsordningen (finish order) är ordningen i vilken noderna avslutas 4, 3, 1, 6, 5,, i detta exempel vi kan lagra bakåtpekare, precis som vi gjorde för bredden-först 69
70 7 Algoritm för bredden-först
71 Algoritm för bredden-först Djupet-först kan implementeras på exakt samma sätt som bredden-först, fast med en stack istället för en kö 7
72 Algoritm för bredden-först djupet Depth stack stack stack stack Djupet-först kan implementeras på exakt samma sätt som bredden-först, fast med en stack istället för en kö 7
73 Djupet-först, rekursivt Men det går lika bra med en rekursiv implementation, eftersom det är ett sätt att dölja att man använder en stack Dessutom kan vi spara avslutningsordningen enkelt (finish order) 71
74 Komplexitet för BFS/DFS Varje båge testas maximalt en gång (två gånger för oriktade grafer) I värsta fallet blir det alltså E tester ( E för oriktade grafer) Dvs, komplexiteten är O( E ) (även för oriktade grafer) Detta gäller både bredden-först och djupet-först 7
75 Exempel: Kortaste vägen För att hitta kortaste vägen genom en labyrint, kan vi representera labyrinten som en graf: 73
76 Exempel: Kortaste vägen Bredden-först-sökning ger den kortaste vägen: dvs, minsta antalet korsningar, inte celler! 74
77 DAG: Riktade acykliska grafer Detta är en DAG (directed acyclic graph) en riktad graf utan cykler i en DAG kan man bara gå framåt, det finns ingen väg tillbaks 75
78 Exempel: Topologisk sortering En topologisk sortering av noderna i en DAG, är att lista noderna i en sådan ordning att om (u, v) är en båge, så kommer u före v i listan varje DAG har minst en topologisk sortering, ofta fler än en är en giltig topologisk sortering av denna DAG, men är det inte 76
79 Exempel: Topologisk sortering Antag att vi gör en djupet-först-sökning av en DAG: om det finns en båge (u, v) i grafen, så måste u bli klar efter att v är klar dvs, u måste komma efter v i avslutningsordningen En enkel algoritm för topologisk sortering blir alltså: gör en djupet-först-sökning av grafen lista noderna i omvänd avslutningsordning 77
Graphs (chapter 14) 1
Graphs (chapter ) Terminologi En graf är en datastruktur som består av en mängd noder (vertices) och en mängd bågar (edges) en båge är ett par (a, b) av två noder en båge kan vara cyklisk peka på sig själv
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
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
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
Datastrukturer. föreläsning 9. Maps 1
Datastrukturer föreläsning 9 Maps 1 Grafer och grafalgoritmer Hur implementerar man grafer? Hur genomsöker (traverserar) man grafer? Hur genomsöker man viktade grafer (och hittar kortaste vägen)? Hur beräknar
Quicksort. Koffman & Wolfgang kapitel 8, avsnitt 9
Quicksort Koffman & Wolfgang kapitel 8, avsnitt 9 1 Quicksort Quicksort väljer ett spcifikt värde (kallat pivot), och delar upp resten av fältet i två delar: alla element som är pivot läggs i vänstra delen
Datastrukturer. föreläsning 8. Lecture 6 1
atastrukturer föreläsning 8 Lecture 6 1 jupet-först sökning (S) och bredden-först sökning (S) Två metoder att genomsöka en graf; två grafiteratorer! Kan även användas för att avgöra om två noder är sammanbundna.
Grafer, allmänt. Med datastrukturen graf menas vanligen: en mängd av noder (vertices) och en mängd av bågar (edges).
Grafer, allmänt Allmänt Med datastrukturen graf menas vanligen: en mängd av noder (vertices) och en mängd av bågar (edges). En graf kan vara riktad (directed) eller oriktad (undirected). En graf kan vara
Datastrukturer. föreläsning 8. Maps 1
Datastrukturer föreläsning 8 Maps 1 Att hitta den kortaste vägen 0 8 A 4 2 8 B 7 2 C 1 D 2 5 3 9 8 E F 5 3 Lecture 6 2 Viktade grafer I en viktad graf tillordnar vi ett tal till varje båge. Detta tal kallas
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
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äsning 7 Datastrukturer (DAT037)
Föreläsning 7 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-21 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
Datastrukturer. föreläsning 9. Maps 1
Datastrukturer föreläsning 9 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
Grafer MST Top. sortering Starkt samm. komponenter Kortaste avstånd. Grafalgoritmer 1. Douglas Wikström KTH Stockholm
Grafalgoritmer 1 Douglas Wikström KTH Stockholm popup-help@csc.kth.se Oriktade och riktade grafer Definition. En oriktad graf består av en mängd noder V och en mängd kanter E, där en kant är ett oordnat
Trädstrukturer och grafer
Översikt Trädstrukturer och grafer Trädstrukturer Grundbegrepp Binära träd Sökning i träd Grafer Sökning i grafer Programmering tillämpningar och datastrukturer Varför olika datastrukturer? Olika datastrukturer
FÖRELÄSNING 11 DATALOGI I
Föreläsning I07 FÖRELÄSNING DATALOGI I Grafer Beatrice Åkerblom beatrice@dsv.su.se Institutionen för Data- och Systemvetenskap SU/KTH Föreläsning I07 Läsanvisningar Michael Main Data Structures & Other
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
Självbalanserande träd AVL-träd. Koffman & Wolfgang kapitel 9, avsnitt 1 2
Självbalanserande träd AVL-träd Koffman & Wolfgang kapitel 9, avsnitt 1 2 1 Balanserade träd Nodbalanserat träd: skillnaden i antalet noder mellan vänster och höger delträd är högst 1 Höjdbalanserat träd:
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
Näst nästa gång: Nästa gång: mer grafer (kap 10) Grafer 1 1. ! uppspännande träd. ! minimala uppspännande träd. ! Prims algoritm. !
F9 Läsanvisning: kap 10 + dessa OH (Obs att OH bilderna tar upp mer än boken) intro till grafer (bara handskrivet och tavla) definitioner och terminologi representationer djupet först bredden först Nästa
Föreläsning 4: Kombinatorisk sökning
DD2458, Problemlösning och programmering under press Föreläsning 4: Kombinatorisk sökning Datum: 2009-09-25 Skribent(er): Kristina Nylander, Dennis Ekblom, Marcus Öman Föreläsare: Fredrik Niemelä 1 Introduktion
träd dag graf båge och vikt Grafer definitioner och terminologi
F9 Läsanvisning: kap 0 + dessa OH (Obs att OH bilderna tar upp mer än boken) intro till grafer (bara handskrivet och tavla) definitioner och terminologi representationer djupet först bredden först Nästa
Datastrukturer. föreläsning 7. Maps 1
Datastrukturer föreläsning 7 Maps 1 Grafer Maps 2 Grafer ett exempel En oriktad graf: Noderna är flygplatser (trebokstavskombinationer) Det finns en båge mellan två noder omm det finns en flyglinje mellan
Föreläsning 4. Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö Kö (ADT) En kö fungerar som en kö. Man fyller på den längst bak och tömmer den längst fram
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Träd Traversering Insättning, borttagning
OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15
OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 140818 kl. 08:15 13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna. Betygsgräns: *** OBS *** Kurs:
NP-fullständighetsbevis
Algoritmer, datastrukturer och komplexitet, hösten 2016 Uppgifter till övning 9 NP-fullständighetsbevis På denna övning är det också inlämning av skriftliga lösningar av teoriuppgifterna till labb 4 och
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
Avancerad Problemlösning och Programmering i Praktiken
Avancerad Problemlösning och Programmering i Praktiken Grafalgoritmer II High Performance Computing Center North (HPC2N) Grafrepresentation Igår: Grafrepresentation DFS BFS Kortaste vägen MST Kortaste
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:
Isometries of the plane
Isometries of the plane Mikael Forsberg August 23, 2011 Abstract Här följer del av ett dokument om Tesselering som jag skrivit för en annan kurs. Denna del handlar om isometrier och innehåller bevis för
Föreläsning 1. Introduktion och sökning i graf. Vad är en algoritm?
Föreläsning 1. Introduktion och sökning i graf Vad är en algoritm? Först: Vad är ett problem? Består av indata och ett mål. Indata: [En beskrivning av en struktur.] Mål: [Kan vara Ja/Nej, ett tal eller
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
English. Things to remember
English Things to remember Essay Kolla instruktionerna noggrant! Gå tillbaka och läs igenom igen och kolla att allt är med. + Håll dig till ämnet! Vem riktar ni er till? Var ska den publiceras? Vad är
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).
Föreläsningsanteckningar F6
Föreläsningsanteckningar F6 Martin Andersson & Patrik Falkman Kortaste vägen mellan en nod och alla andra noder Detta problem innebär att givet en graf G = (E,V) hitta den kortaste vägen över E från en
Datastrukturer och algoritmer. Föreläsning 4 Test, Stack och Kö
Datastrukturer och algoritmer Föreläsning 4 Test, Stack och Kö 1 Innehåll Test Datatyperna Stack och kö Specifikation och Gränssnitt Konstruktion Tillämpning 2 Testa VIKTIGT! Test går att göra under många
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:
Support Manual HoistLocatel Electronic Locks
Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing
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 =
Algoritmer och datastrukturer, föreläsning 11
lgoritmer och datastrukturer, föreläsning 11 enna föreläsning behandlar grafer. En graf har en mängd noder (vertex) och en mängd bågar (edge). Ett exempel är: E F G H Z enna graf har följande mängd av
1. Unpack content of zip-file to temporary folder and double click Setup
Instruktioner Dokumentnummer/Document Number Titel/Title Sida/Page 13626-1 BM800 Data Interface - Installation Instructions 1/8 Utfärdare/Originator Godkänd av/approved by Gäller från/effective date Mats
Föreläsning 10. Grafer, Dijkstra och Prim
Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Broarna i Königsberg, Euler, 17 Grafer
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
Datastrukturer och Algoritmer D0041D
Luleå Tekniska Universitet 19 mars 2014 Laborationsrapport Laboration 3 Datastrukturer och Algoritmer D0041D Primms Algoritm Namn E-mail Magnus Björk magbjr-3@ltu.student.se Handledare Felix Hansson Primms
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
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.
TNK049 Optimeringslära
TNK49 Optimeringslära Clas Rydergren, ITN Föreläsning 7 Nätverksoptimering Billigaste uppspännande träd (MST) Billigaste väg (SP) Projektnätverk Minkostnadsflödesproblem Agenda Terminologi för grafer/nätverk
Föreläsning 2. Kortaste vägar i grafer.
Föreläsning 2. Kortaste vägar i grafer. Problem: KORTASTE VÄGAR Den enklaste varianten är om vi inte har kantvikter och kortaste väg är en väg med såfåkanter som möjligt. Indata: En riktad graf G och en
Optimering Kruskal s algoritm Prim-Jarník s algoritm
Optimering Kruskal s Prim-Jarník s 0.7 1.3 0.5 0.3 2.1 0.7 1.3 0.5 0.3 2.1 Viktad graf raf där varje kant har en vikt Vikterna kan motsvara Kostnad Avstånd Tidsåtgång ur hittar man kortaste vägen från
Beijer Electronics AB 2000, MA00336A, 2000-12
Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this
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
729G04 - Diskret matematik. Lektion 4
729G04 - Diskret matematik. Lektion 4 1 Lösningsförslag 1.1 Vägar, stigar och annat 1. Vi ges den oriktade grafen G=(V,E), V = {a, b, c, d, f, g, h, i, j}, E = {{a, b}, {b, c}, {a, c}, {f, g}, {c, d},
samhälle Susanna Öhman
Risker i ett heteronormativt samhälle Susanna Öhman 1 Bakgrund Riskhantering och riskforskning har baserats på ett antagande om att befolkningen är homogen Befolkningen har alltid varit heterogen när det
Föreläsning 10. Grafer, Dijkstra och Prim
Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna
Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers 12-24. Misi.se 2011 1
Discovering!!!!! ÅÄÖ EPISODE 6 Norrlänningar and numbers 12-24 Misi.se 2011 1 Dialogue SJs X2000* från Stockholm är försenat. Beräknad ankoms?d är nu 16:00. Försenat! Igen? Vad är klockan? Jag vet inte.
Kapitel 9: Grafalgoritmer
Kapitel 9: Grafalgoritmer En graf G = (V, E) karakteriseras av två mängder en ändlig icke-tom mängd V av noder (vertex) en mängd E av bågar (edges eller arcs) varje båge är ett par (v, w), där v, w är
Grafer. 1 Grafer. Grunder i matematik och logik (2015) 1.1 Oriktade grafer. Marco Kuhlmann
Marco Kuhlmann 1 En graf är en struktur av prickar förbundna med streck. Ett tidsenligt exempel på en sådan struktur är ett social nätverk, där prickarna motsvarar personer och en streck mellan två prickar
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
Webbregistrering pa kurs och termin
Webbregistrering pa kurs och termin 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en länk till Studieöversiktssidan. På den sidan
Föreläsning 10. Riktade grafer. Viktade grafer. TDDC91,TDDE22,725G97: DALG. Innehåll. Innehåll Riktade grafer A 10.3
öreläsning 1 Riktade grafer. Viktade grafer. T1,T,G: LG Utskriftsversion av föreläsning i atastrukturer och algoritmer oktober 1 Magnus Nielsen, I, Linköpings universitet 1.1 Innehåll Innehåll 1. 1 Riktade
Installation av F13 Bråvalla
Website: http://www.rbdesign.se Installation av F13 Bråvalla RBDESIGN FREEWARE - ESCK Norrköping-Bråvalla 1. Ladda ner och packa upp filerna i en mapp som du har skapat på ett lättöverskådligt ställe utanför
Träd, binära träd och sökträd. Koffman & Wolfgang kapitel 6, avsnitt 1 4
Träd, binära träd och sökträd Koffman & Wolfgang kapitel 6, avsnitt 1 4 1 Träd Träd är ickelinjära och hierarkiska: i motsats till listor och fält en trädnod kan ha flera efterföljare ( barn ) men bara
Föreläsning 2: Grafer. Exempel på graf
Föreläsning 2: Grafer Vad är en graf? Terminologi Representationer Genomgång av hörnen i en graf Kortaste väg-problemet Exempel på graf Falun Uppsala Karlstad Västerås Stockholm Eskilstuna Örebro En graf
Datastrukturer och algoritmer
Innehåll Datastrukturer och algoritmer Föreläsning 2 Fält Specifikation, Konstruktion och Specifikation, Konstruktion Dynamiska resurser Länk Länkade celler 25 26 Fält Modell Schackbräde Organisation n-dimensionellt
BINÄRA TRÄD. (X = pekarvärdet NULL): struct int_bt_node *pivot, *ny; X X X 12 X X 12 X X -3 X X
Algoritmer och Datastrukturer Kary FRÄMLING/Göran PULKKIS (v23) Kap. 7, Sid 1 BINÄRA TRÄD Träd används för att representera olika slags hierarkier som ordnats på något sätt. Den mest använda trädstrukturen
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
Arctic. Design by Rolf Fransson
Arctic Design by Rolf Fransson 2 Endless possibilities of combinations. Oändliga kombinationsmöjligheter. 3 4 5 If you are looking for a range of storage furniture which limits of combination is set by
Trafiksimulering: Grafalgoritmer
1 (38) Trafiksimulering: Grafalgoritmer Michael Hanke Skolan för teknikvetenskap SF1538 Projekt i simuleringsteknik 2 (38) Introduktion Varför grafalgoritmer? Grafer möjliggör en enkel och systematisk
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
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
Träd. Rot. Förgrening. Löv
Träd Träd Rot Förgrening Löv Exempel: Organisationsschema Rot Överkucku Förgrening Underhuggare Underhuggare Administativ chef Kanslichef Knegare Knegare Knegare Byråchef Löv Intendent Avd. chef Intendent
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
Facit Tentamen TDDC (7)
Facit Tentamen TDDC30 2014-03-18 1 (7) Teoretisk del 1. (3p) "Snabba frågor" a) Varför kan man tänkas vilja dölja metoder och variabler med private? (0.5p) Svar:För att skydda interna variabler från ändringar
Datastrukturer och algoritmer
Innehåll Datastrukturer och algoritmer Föreläsning 2 Fält Specifikation, Konstruktion och Specifikation, Konstruktion Dynamiska resurser Länk Länkade celler 23 24 Konstruktion av Fält Fysisk datatyp i
Länkade strukturer. (del 2)
Länkade strukturer (del 2) Översikt Abstraktion Dataabstraktion Inkapsling Gränssnitt (Interface) Abstrakta datatyper (ADT) Programmering tillämpningar och datastrukturer 2 Abstraktion Procedurell abstraktion
Fördelning. Fördelningsprinciper. Lastbalansering
Fördelning Föreläsning : Lastbalansering MIMD-parallellt program Ett antal tasks som exekverar seriellt eller parallellt Fördelningsproblemet NP-komplett problem (i generella fallet) Fördela tasks på processorer
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Träd Traversering Insättning, borttagning
Styrteknik: Binära tal, talsystem och koder D3:1
Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder
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
Lastbalansering. Fördelningsprinciper. Fördelning. balans. MIMD-parallellt program Ett antal tasks som exekverar seriellt eller parallellt
Lastbalansering Föreläsning : Lastbalansering Imperfekt balans balans Perfekt För betraktaren är det längsta exekveringstiden som spelar roll!!! Fördelning MIMD-parallellt program Ett antal tasks som exekverar
public static void mystery(int n) { if (n > 0){ mystery(n-1); System.out.print(n * 4); mystery(n-1); } }
Rekursion 25 7 Rekursion Tema: Rekursiva algoritmer. Litteratur: Avsnitt 5.1 5.5 (7.1 7.5 i gamla upplagan) samt i bilderna från föreläsning 6. U 59. Man kan definiera potensfunktionen x n (n heltal 0)
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
Algoritmer och Komplexitet ht 08. Övning 5. Flöden. Reduktioner. Förändrat flöde
Algoritmer och Komplexitet ht 08. Övning 5 Flöden. Reduktioner Förändrat flöde a) Beskriv en effektiv algoritm som hittar ett nytt maximalt flöde om kapaciteten längs en viss kant ökar med en enhet. Algoritmens
Programmering i C++ EDA623 Dynamiska datastrukturer. EDA623 (Föreläsning 11) HT / 31
Programmering i C++ EDA623 Dynamiska datastrukturer EDA623 (Föreläsning 11) HT 2013 1 / 31 Dynamiska datastrukturer Innehåll Länkade listor Stackar Köer Träd EDA623 (Föreläsning 11) HT 2013 2 / 31 Länkade
Sharecut. Michael De Stefano Robin Gustafsson Fredrik Warfvinge
Michael De Stefano Michael De Stefano Idé och koncept Grundidé, syfte och innehåll ShareCut är en tjänst som effektiviserar publicering på sociala medier. En hub som gör det enkelt att skriva och publicera
Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås
Schenker Privpak AB Interface documentation for Parcel Search 2011-10-18 Version: 1 Doc. no.: I04306 Sida 2 av 5 Revision history Datum Version Sign. Kommentar 2011-10-18 1.0.0 PD First public version.
Övning 5 - Tillämpad datalogi 2013
/afs/nada.kth.se/home/w/u1yxbcfw/teaching/13dd1320/exercise5/exercise5.py October 1, 2013 1 0 # coding : latin Övning 5 - Tillämpad datalogi 2013 Automater, reguljära uttryck, syntax Sammanfattning Idag
Föreläsning 2. Kortaste vägar i grafer.
Föreläsning 2. Kortaste vägar i grafer. Problem: KORTASTE VÄGAR Den enklaste varianten är om vi inte har kantvikter och kortaste väg är en väg med såfåkanter som möjligt. Indata: En riktad graf G och en
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:
Modern webbutveckling. av Robert Welin-Berger
Modern webbutveckling av Robert Welin-Berger robertwb@kth.se Modern webbutveckling 1. Projektstorlek och Arkitektur 2. Callbacks 3. Event driven arkitektur 4. MEAN stack 5. ODM/ORM 1. Projektstorlek och
Tentamen MMG610 Diskret Matematik, GU
Tentamen MMG610 Diskret Matematik, GU 2017-01-04 kl. 08.30 12.30 Examinator: Peter Hegarty, Matematiska vetenskaper, Chalmers/GU Telefonvakt: Peter Hegarty, telefon: 0766 377 873 Hjälpmedel: Inga hjälpmedel,
Länkade listor, stackar och köer
Länkade listor, stackar och köer I fortsättningen ska vi ta upp några olika abstrakta datatyper. De kan ses som enkla verktyg i en verktygslåda som ska göra det lättare att programmera. Några av dessa
Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.
-Algoritmer och Datastrukturer- Abstrakt datatyp Datatyp för en variabel Betecknar i ett programmeringsspråk den mängd värden variabeln får anta. T ex kan en variabel av typ boolean anta värdena true och
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
ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15
ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B03 150112 kl. 08:15 13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Inga. Algoritmerna finns i de respektive uppgifterna eller i bilogarna. ***
DD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011
DD1320 Tillämpad datalogi Lösning (skiss) till tenta 20 okt 2011 1 KMP P I P P I N i 1 2 3 4 5 6 Next[i] 0 1 0 2 1 3 2 Huffmankodning: Algoritmen 1. Sortera tecknen som ska kodas i stigande förekomstordning.
Exempel: Förel Rekursion III Nr 14. Uno Holmer, Chalmers,
Exempel: Kappsäcksproblemet Backtracking Dynamisk programmering Föreläsning (Weiss kap..-) Kan man ur en grupp föremål F,,F N med vikterna V,,V N välja ut en delgrupp som väger exakt M kilo? Exempel: föremål
Föreläsning 11. Riktade grafer. Viktade grafer. TDDC70/91: DALG. Innehåll. Innehåll. 1 Riktade grafer A 11.3
Föreläsning 11 Riktade grafer. Viktade grafer. T70/1: ALG Utskriftsversion av föreläsning i atastrukturer och algoritmer 14 oktober 2013 Tommy Färnqvist, IA, Linköpings universitet 11.1 Innehåll Innehåll
Datastrukturer och algoritmer
Datastrukturer och algoritmer Föreläsning 16 2 Innehåll Snabbrepetition Exempeltentamen Kursutvärdering Mina målsättningar Kursens mål: 3 Rolig och viktig kurs Bli en bättre programmerare och inse att