Hallo Welt für Fortgeschrittene
|
|
- Herbert Amsel
- vor 5 Jahren
- Abrufe
Transkript
1 Hallo Welt für Fortgeschrittene Graphalgorithmen I Florian Schmaus florian.schmaus@informatik.stud.uni-erlangen.de Informatik 2 Programmiersysteme Martensstraße Erlangen
2 Übersicht I. Grundlagen i. Begriffe ii. Datenstrukturen iii.java II. Suchen und Sortieren i. Breitensuche ii. Tiefensuche iii.topologische Sortierung III.Zusammenhang i. Brücken ii. Artikulationspunkte iii.zusammenhangskomponenten Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 2
3 Übersicht I. Grundlagen i. Begriffe ii. Datenstrukturen iii.java II. Suchen und Sortieren i. Breitensuche ii. Tiefensuche iii.topologische Sortierung III.Zusammenhang i. Brücken ii. Artikulationspunkte iii.zusammenhangskomponenten Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 3
4 Begriffe Graph G = (V, E) V: Menge von Konten ( vertices ) E: Menge von Kanten ( edges ) Verschieden Arten von Graphen: gerichtete/ungerichtete Graphen zyklische/azyklische Graphen DAG ( directed acylic graph ) gewichtete Graphen bipartite Graphen Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 4
5 Begriffe Gerichteter Graph - Paar G=(V,E) V ist eine endliche Menge von Knoten E ist eine zweistellige Relation auf V Die elemente von E werden (gerichtete) Kante genannt Transponierter Graph G t G t = (V, E t ) E t = {(v,u) (u,v) E Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 5
6 Begriffe Ungerichteter Graph E ist symetrisch Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 6
7 Begriffe Zyklischer Graph Azyklischer Graph Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 7
8 Begriffe Gewichteter Graph Ordnet jeder Kante ein Gewicht zu Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 8
9 Begriffe Dünn besetzter Graph ( sparse graph ) E << V ² Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 9
10 Begriffe Dicht besetzter Graph ( dense graph ) E V ² Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 10
11 Begriffe Bipartite Graphen Menge der Knoten lässt sich in zwei Teilmengen aufteilen, sodass zwischen den Knoten innerhalb beider Teilmengen keine Kanten verlaufen. Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 11
12 Begriffe Pfade Ein Pfad (auch Weg, Kantenzug) von Knoten x nach Knoten y ist eine endliche Folge von Knoten In einem einfachen Pfad kommt jeder Knoten aus V höchstens einmal vor Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 12
13 Begriffe Reflexive Kanten ( self loops ) Grad eines Knoten Eingangsgrad Ausgangsgrad Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 13
14 Begriffe Zusammenhang zusammenhängend, wenn es (im ungerichteten Graphen) von jedem Knoten u zu jedem anderen Knoten v mindestens einen Weg gibt. nicht zusammenhängend schwach zusammenhängend stark zusammenhängend Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 14
15 Begriffe Zusammenhangskomponenten Ein maximal zusammenhängender Teilgraph eines Graphen. Bei gerichteten Graphen ohne die Richtung der Kanten zu berücksichtigen. Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 15
16 Begriffe Starke Zusammenhangskomponenten Mit Berücksichtigung der Kantenrichtung: starke Zusammenhangskomponente (SCC - strongly connected component ) Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 16
17 Begriffe - k-zusammenhang k-fach kantenzusammenhängend G heißt k-fach kantenzusammehängend, wenn man k -1 beliebige Kanten entfernen kann und G danach noch zusammenhängend ist k-fach knotenzusammenhängend G heißt k-fach knotenzusammenhängend (oder einfach k-zusammenhängend), wenn man k 1 beliebige Knoten entfernen kann und G danach noch zusammenhängend ist Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 17
18 Datenstrukturen zur Speicherung von Graphen Adjazenzmatrix (Matrixdarstellung) :-) sehr schnell feststellbar, ob eine Kante existiert - O(1) manche Graphenoperationen lassen sich als Matrizenoperationen darstellen :-( Speicherverschwendung bei dünnen Graphen - O(n²) Aufwändige suche nach Kanten bei dünnen Graphen Datentyp 2-dimensionaler Array vom Typ bool oder 2-dimensionaler Array vom Typ int (bei gewichteten Graphen) Bei ungerichteten Graphen wird nur Dreiecksmatrix benötigt. Kommen auch keine reflexiven Kanten vor, kann auch die Diagonale der Matrix vernachlässigt werden. Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 18
19 Datenstrukturen zur Speicherung von Graphen Adjazenzlisten :-) geringer Speicherverbrauch O( V + E ) :-( kostspielige Suche nach Kanten O( E ) Datentyp C++ (STL): vector Java: ArrayList Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 19
20 Datenstrukturen zur Speicherung von Graphen Als Reihung :-) noch kompakter als Adjazenzliste :-( aufwändige Änderungen (Einfügen/Löschen) Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 20
21 Praktische Umsetzung Java Graph Klasse public class Graph { static class Edge { int dest, cost; public Edge(int d, int c) { dest = d; cost = c;... private HashMap labels = new HashMap(); private ArrayList nodes = new ArrayList(); public Graph() { public void addnode(string label) { if (labels.containskey(label)) throw new NodeAlreadyDefinedException(); nodes.add(new ArrayList()); int idx = nodes.size() - 1; labels.put(label, new Integer(idx)); Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 21
22 Praktische Umsetzung Java Graph Klasse... public int getnodeid(string label) { Integer i = (Integer) labels.get(label); if (i == null) throw new NoSuchElementException(); return i.intvalue(); public void addedge(string src, String dest, int cost) { List adjlist = (List)nodes.get(getNodeID(src)); adjlist.add(new Edge(getNodeID(dest), cost)); public Iterator getedges(int node) { return ((List)nodes.get(node)).iterator(); Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 22
23 Übersicht I. Grundlagen i. Begriffe ii. Datenstrukturen iii.java II. Suchen und Sortieren i. Breitensuche ii. Tiefensuche iii.topologische Sortierung III.Zusammenhang i. Brücken ii. Artikulationspunkte iii.zusammenhangskomponenten Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 23
24 Suchen und Sortieren - Breitensuche Breitensuche aka Bread First Search (BFS) Algorithmenmuster, das die Knoten eines Graphen nach der Entfernung von einem Startknoten geordnet durchläuft Zuerst werden alle von diesem Startknoten direkt durch eine Kante erreichbare Knoten bearbeitet Danach die durch mindestens zwei Kanten, dann die durch drei Kanten... usw. Aufwand O ( V + E ) Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 24
25 Suchen und Sortieren - Breitensuche BFS in C++ bool M[128][128]; bool seen[128]; int n; M = AdjMatrix n = # Knoten queue<int> q; int s = 0; for( int v = 0; v < n; v++ ) seen[v] = false; seen[s] = true; q.push( s ); while (!q.empty() ) { int u = q.front(); q.pop(); for( int v = 0; v < n; v++ ) if(!seen[v] && M[u][v] ) { seen[v] = true; q.push( v ); Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 25
26 Suchen und Sortieren - Tiefensuche Tiefendurchlauf, geht so weit wie möglich einen Pfad entlang Voraussetzung für viele weitere Algorithmen Berechnet die Ordnung (dfsnum n ) jeder Node n von Beginn der Tiefensuche (und optional den Zeitpunkt der endgültigen Bearbeitung) Jeder Knoten wir kategorisiert weiß: unbearbeitet grau: in bearbeitung schwarz: abgearbeitet Jede Kante wird kategorisiert: Back Edge Front Edge Cross Edge (nur bei gerichteten Graphen) Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 26
27 Suchen und Sortieren - Tiefensuche Tiefensuche in C main() { for( int i = 0; i < n; i++ ) colour[i] = 0; num = 0; for( int j = 0; j < n; j++) if( colour[j] == 0 ) dfs( j, -1); Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 27
28 Suchen und Sortieren - Tiefensuche Tiefensuche in C bool M[128][128]; int colour[128]; int dfsnum[128], finished[128], num, n; void dfs(int u, int p) { colour[u] = 1; dfsnum[u] = num++; for (int v = 0; v < n; v++) if(m[u][v] && v!= p) { if (colour[v] == 0) { dfs( v, u ); else if (colour[v] == 1) { //backedge(u, v) else { if (finished[v] < dfsnum[u]) else colour[u] = 2; finished[u] = num++; 0 = white,1 = gray, 2 = black Ordnung dfsnum u (u,v) = Back Edge (u,v) = Cross Edge (u,v) = Forward Edge Finished Time Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 28 O ( V + E )
29 Suchen und Sortieren Topologische Sortierung Topologische Sortierung Typisches Beispiel: Aufgaben die (teilweise) voneinander abhängen sollen in eine chronologische Reihenfolge gebracht werden. DAG gerichteter azyklischer Graph azyklisch, weil ein zyklus einen sequentiellen Ablauf verhindern würde Gesucht: Lineare Ordnung des Graphen (muss nicht eindeutig sein) Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 29
30 Suchen und Sortieren Topologische Sortierung Ansatz: Wenn ein Knoten abgearbeitet ist, dann hat er keine Nachfolger, die noch nicht abgearbeitet sind hat er keine Vorgänger, die schon abgearbeitet sind Daher: Modifikation des DFS Algorithmus Abgearbeitete Knoten werden auf einen Stack gelegt Auf den Stack finden sich die Knoten in der gesuchten Ordnung falls nötig Zyklenerkennung (Back Edges) Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 30
31 Übersicht I. Grundlagen i. Begriffe ii. Datenstrukturen iii.java II. Suchen und Sortieren i. Breitensuche ii. Tiefensuche iii.topologische Sortierung III.Zusammenhang i. Brücken ii. Artikulationspunkte iii.zusammenhangskomponenten Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 31
32 Zusammenhang - Brücken Kanten, nach deren Entfernung der Graph nicht mehr zusammenhängend ist, nennt man Brücken Brücken sind wichtig für die Fehlertoleranz von Systemen Wiederholung: Hat ein Graph Brücken, handelt es sich also um einen 1-fach kantenzusammenhängend Graph Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 32
33 Zusammenhang - Brücken Idee Ansatz mit least ancestor und DFS least ancestor (LA) ist der kleinste Vorfahre in der Reihenfolge/Ordnung des Tiefensuchbaumes Eine Kante (v, u) ist eine Brücke, wenn für jeden Knoten v nur noch Knoten k mit größeren LA k im Tiefensuchbaum, als LA u erreicht werden können. Es von den Knoten v keine Kanten mehr gibt. Wichtig: Baumkante zum Vaterknoten wird nicht betrachtet Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 33
34 Zusammenhang - Brücken Algorithmus bridge(u, p) color[u] = grey dfsnum[u] = step++; LA = step; for each v ReachableNodes(u) do if v == p then continue if color[v] == white then rec = bridge(v, u) if (rec > dfsnum[u]) //(u, v) is bridge LA = min(la, rec) else LA = min(la, dfsnum[v]) fi od; color[u] = black return LA Least Ancestor Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 34
35 Zusammenhang - Artikulationspunkte Analog zu Brücken Knoten, nach dessen Entfernung der Graph nicht mehr zusammehängend ist, nennt man Artikulationspunkte. Artikulationspunkte sind, wie Brücken, wichtig für die Fehlertoleranz von Systemen Wiederholung: Hat ein Graph Artikulationspunkte, so handelt es sich um einen 1-fach knotenzusammenhängenden Graph Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 35
36 Zusammenhang - Artikulationspunkte Idee Ansatz mit leastanchestor und DFS Betrachtet wird lediglich der ungerichtete Graph Ein Knoten u ist ein Artikulationspunkt, wenn Er die Wurzel eines Tiefensuchbaums ist und mehr als einen Nachfolgeknoten der nicht bereits über den Tiefensuchlauf erreicht worden ist hat kein Kind v von u einen Knoten k mit kleineren Abstand zur Wurzel LA k als LA u erreichen kann. (vgl. Algorithmus zur Brückenerkennung) Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 36
37 Zusammenhang - Artikulationspunkte Algorithmus Äußere Schleife für u fehlt atc_point(u, p) dfsnum[u] = num++; LA = num ap = false children = 0 for each v ReachableNodes(u) do if v == p then continue if dfsnum[v]!= -1 then LA = min(la, dfsnum[v]) else children++ rec = atc_point(v, u) if rec >= num then ap = true LA = min(la, rec) fi od if (ap && num > 0) (num == 0 && children > 1) then //u is articulatioin point fi return LA Keinen Knoten mit kleineren Abstand gefunden Knoten ist Wurzel und hat mehrere Kinder Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 37
38 Zusammenhang Finden von Zusammenhangskomponenten ungerichteten Graphen Tiefensuche gerichteten Graphen (Starke Zusammenhangskomponenten) Algorithmus von Kosaraju Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 38
39 Zusammenhang Finden von Zusammenhangskomponenten Algorithmus basierend auf DFS bool M[128][128]; int colour[128]; int dfsnum[128], num; int n; int cc_count; int cc[128]; main() { for (int i = 0; i < n; i++) colour[i] = 0; num = 0; cc = 0; for (int j = 0; j < n; j++) if (colour[j] == 0) { cc_count++; dfs( j, -1); Neue Zusammenhangskomponente Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 39
40 Zusammenhang Finden von Zusammenhangskomponenten Tiefensuche in C void dfs (int u, int p) { colour[u] = 1; dfsnum[u] = num++; cc[u] = cc_count; for (int v = 0; v < n; v++) if(m[u][v] && v!= p) { if (colour[v] == 0) { dfs(v, u); else if (colour[v] == 1) { else { colour[u] = 2; cc[n] gibt an, zu welcher Zusammenhangskomponete Node n gehört Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 40
41 Algorithmus von Kosarju Ansatz G und G T haben die gleichen SCCs Idee Graph transponieren DFS auf den transponierten Graphen Knoten absteigend nach finish-time sortieren (alternativ: auf einen Stack legen bei Rekursionsende) DFS auf Ursprungsgraphen mit Hilfe der nach finish-time absteigend sortierten Liste von Knoten Alle (noch nicht gefundenen) erreichbaren Knoten gehören zur selben SCC Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 41
42 Quellen Algorithmen und Datenstrukturen Saake, Sattler; dpunkt.verlang, 2006 Programming Challenges Skiena, Revilla; Springer, 2003 The Algorithm Design Manual Skiena; Springer 1998 Graphalgorithmen 1 Jens Wetzl; Hallo Welt! 2009 Wikipedia Hallo Welt für Fortgeschrittene Graphalgorithmen 1 Florian Schmaus Folie 42
Graphalgorithmen I Hallo Welt! für Fortgeschrittene
Graphalgorithmen I Hallo Welt! für Fortgeschrittene Jens Wetzl (sijewetz@stud.informatik.uni-erlangen.de) 18. Mai 2009 Motivation Grundlagen Beschreibung von Objekten und deren Beziehungen zueinander Vielfältige
MehrGraphenalgorithmen I
Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket
MehrGraphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger
Graphenalgorithmen I Geschickt Programmieren für den ICPC- Wettbewerb Felix Weissenberger Inhalt Grundlagen zu Graphen Begriffe Darstellung von Graphen Graphenalgorithmen Breitensuche Tiefensuche Topologisches
Mehr10 Graphenalgorithmen in Java
10.1 Implementierung eines gewichteten Graphen 10.2 Implementierung der Breitensuche 10.3 Implementierung der Tiefensuche 10 147 Teil X Graphalgorithmen in Java Überblick Implementierung eines gewichteten
MehrGraphalgorithmen I. Katharina Reif Hallo Welt -Seminar - LS 2
Graphalgorithmen I Katharina Reif 14.06.2017 allo Welt -Seminar - LS 2 Überblick Einführung Speichern von Graphen Topologische Sortierung Zusammenhang und Zusammenhangskomponenten Artikulationspunkte rücken
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
MehrDatenstrukturen und Algorithmen
Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/81 Datenstrukturen und Algorithmen Vorlesung 14+15: Elementare Graphenalgorithmen (K22,K24.2) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software
MehrVL-14: Graphalgorithmen I. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger
VL-14: Graphalgorithmen I (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger SS 2017, RWTH DSAL/SS 2017 VL-14: Graphalgorithmen I 1/48 Organisatorisches Vorlesung: Gerhard Woeginger (Zimmer 4024
MehrProgrammierkurs Python
Programmierkurs Python Stefan Thater Michaela Regneri 2010-0-29 Heute Ein wenig Graph-Theorie (in aller Kürze) Datenstrukturen für Graphen Tiefen- und Breitensuche Nächste Woche: mehr Algorithmen 2 Was
MehrProgrammierkurs Python II
Programmierkurs Python II Stefan Thater & Michaela Regneri FR.7 Allgemeine Linguistik (Computerlinguistik) Universität des Saarlandes Sommersemester 011 Heute Ein wenig Graph-Theorie (in aller Kürze) Datenstrukturen
MehrWintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt.
Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim
MehrAlgorithmen I. Tutorium 1-8. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-8. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-06-06 Überblick 1 Allgemeines Adjazenzliste Adjazenzmatrix Adjazenzfeld Aufgaben
Mehr12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.
254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 13 (6.6.2018) Graphenalgorithmen II Yannic Maus Algorithmen und Komplexität Repräsentation von Graphen Zwei klassische Arten, einen Graphen
MehrGraphalgorithmen I. Simon Regnet. May 16, Universität Erlangen. Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, / 56
Graphalgorithmen I Simon Regnet Universität Erlangen May 16, 2008 Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, 2008 1 / 56 Inhalt 1 Motivation 2 Terminologie 3 Datenstrukturen 4 Suche
MehrGraphalgorithmen 1. Tillmann Zipperer Tillmann Zipperer Graphalgorithmen / 40
Graphalgorithmen 1 Tillmann Zipperer 03.06.2015 Tillmann Zipperer Graphalgorithmen 1 03.06.2015 1 / 40 1 Grundlagen Definition Graphtypen Implizite Graphdarstellung Tillmann Zipperer Graphalgorithmen 1
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 13 (8.6.2016) Graphenalgorithmen I Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 12, Donnerstag, 23.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 0 / 04 Vorlesung, Donnerstag,. Januar 04 (Graphen, Breiten/Tiefensuche, Zusammenhangskomponenten) Junior-Prof.
MehrRückblick: Starke Zusammenhangskomponenten
Rückblick: Starke Zusammenhangskomponenten Der Algorithmus von Kosaraju bestimmt die starken Zusammenhangskomponenten eines gerichteten Graphen wie folgt: Schritt 1: Bestimme den transponierten Graphen
MehrDiskrete Strukturen WS 2005/06. Ernst W. Mayr. 27. Januar Fakultät für Informatik TU München
WS 2005/06 Ernst W. Mayr Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2005ws/ds/ 27. Januar 2006 Ernst W. Mayr 2.16 Inzidenzmatrix 3. Definitionen für gerichtete Graphen 3.1 Digraph
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
MehrAlgorithmen und Datenstrukturen 2-1. Seminar -
Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8
MehrZweizusammenhang und starker Zusammenhang
.. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk
MehrDefinition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.
3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls
Mehr12. Graphen. Königsberg Zyklen. [Multi]Graph
Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 16 (2.7.2014) Graphtraversierung II, Minimale Spannbäume I Algorithmen und Komplexität Tiefensuche: Pseusocode DFS Traversal: for all u in
MehrInformatik II, SS 2016
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 12 (4.6.2018) Graphenalgorithmen I Yannic Maus Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise
MehrAlgorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od
Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Diskrete Strukturen 3.7 dag 473/556 3.8 Zusammenhang Definition
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
MehrAlgorithmen und Datenstrukturen 13
19. Juli 2012 1 Besprechung Blatt 12 Fragen 2 Bäume AVL-Bäume 3 Graphen Allgemein Matrixdarstellung 4 Graphalgorithmen Dijkstra Prim Kruskal Fragen Fragen zu Blatt 12? AVL-Bäume AVL-Bäume ein AVL-Baum
Mehr8. Übung zu Algorithmen I 15. Juni 2016
8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative
MehrKap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen
Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19. VO DAP2 SS 2008 19. Juni 2008 1
MehrADS 2: Algorithmen und Datenstrukturen
ADS : Algorithmen und Datenstrukturen Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 12, Donnerstag, 22.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 014 / 015 Vorlesung 1, Donnerstag,. Januar 015 (Graphen, Breiten/Tiefensuche, Zusammenhangskomponenten) Junior-Prof.
MehrKap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS
Kap. 5: Graphen Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 17. VO DAP2 SS 2009 23. Juni 2008 1 Motivation Warum soll ich heute hier bleiben? Graphen sind wichtig und
Mehr9. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Musterlösung
MehrGliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
5. Compiler Gliederung 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume
MehrDefinition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 02. Mai 2017 [Letzte Aktualisierung: 10/07/2018,
MehrGliederung. Algorithmen und Datenstrukturen II. ADT Graph. ADT Graph. Graphen in JAVA. Klasse Graph Suche Breitensuche Tiefensuche. D.
Gliederung Algorithmen und Datenstrukturen II Graphen in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 20. April
MehrGraphen. Leonhard Euler ( )
Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),
MehrTraversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / Traversierung ADS: Algorithmen und Datenstrukturen Teil Prof. Peter F. Stadler & Sebastian
MehrAlgorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?
Algorithmen I Prof. Jörn Müller-Quade 19.06.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik
MehrGraphalgorithmen. Graphen
(Folie 270, Seite 67 im Skript) Graphen (Folie 271, Seite 67 im Skript) Graphen Definition Ein ungerichteter Graph ist ein Paar (V, E), wobei V die Menge der Knoten und E ( V 2) die Menge der Kanten ist.
MehrADS 2: Algorithmen und Datenstrukturen
ADS : Algorithmen und Datenstrukturen Teil Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 09. Mai 08 [Letzte Aktualisierung: 06/07/08, 08:4]
MehrDatenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen
Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet
MehrTutoraufgabe 1 (SCC):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden aus der gleichen Kleingruppenübung
MehrADS 2: Algorithmen und Datenstrukturen
ADS : Algorithmen und Datenstrukturen Teil Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8
MehrGraphen Jiri Spale, Algorithmen und Datenstrukturen - Graphen 1
Graphen 27 Jiri Spale, Algorithmen und Datenstrukturen - Graphen Motivation Einsatz: Berechnung von Entfernungen Auffinden von Zyklen in Beziehungen Ermittlung von Verbindungen Zeitmanagement Konzept:
MehrGraphen und Bäume. A.1 Graphen
Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Tiefensuche: Die globale Struktur Der gerichtete oder ungerichtete Graph G werde durch seine Adjazenzliste A repräsentiert. Im Array besucht wird vermerkt,
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil II Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 07.
Mehr9 Graphtraversierung. Sanders / van Stee: Algorithmentechnik November 27,
Sanders / van Stee: Algorithmentechnik November 27, 2007 1 9 Graphtraversierung Ausgangspunkt oder Baustein fast jedes nichtrivialen Graphenalgorithmus Sanders / van Stee: Algorithmentechnik November 27,
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Graphen, Suchbäume, AVL Bäume Heute: Graphen und Bäume Binäre Suchbäume AVL-Bäume Nächste
Mehr23. Graphen. Königsberg Zyklen. [Multi]Graph
Königsberg 76. Graphen, Repräsentation, Reflexive transitive Hülle, Traversieren (DFS, BFS), Zusammenhangskomponenten, Topologisches Sortieren Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. 60 60 [Multi]Graph
Mehr2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37
2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Graphen und Bäume 2. Binäre Suchbäume 3. AVL-Bäume 4. Algorithmen und Datenstrukturen 2 Agenda
MehrHelmut Schauer Educational Engineering Lab Department for Information Technology University of Zurich. Graphen (2)
Graphen (2) 1 Topologisches Sortieren (1) Die Kanten eines gerichteten zyklenfreien Graphen bilden eine Halbordnung (die Ordnungsrelation ist nur für solche Knoten definiert die am gleichen Pfad liegen).
MehrDatenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
MehrAlgorithmen I - Tutorium 28 Nr. 9
Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE
MehrMotivation Kap. 6: Graphen
Motivation Kap. 6: Graphen Warum soll ich heute hier bleiben? Graphen sind wichtig und machen Spaß! Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Was gibt es
MehrKapitel 5: Graphen und Graphalgorithmen
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Algorithmen und Datenstrukturen Kapitel 5: Graphen und Graphalgorithmen Skript zur Vorlesung Algorithmen und Datenstrukturen
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
MehrBreiten- und Tiefensuche in Graphen
Breiten- und Tiefensuche in Graphen Inhalt Theorie. Graphen. Die Breitensuche in der Theorie am Beispiel eines ungerichteten Graphen. Die Tiefensuche in der Theorie am Beispiel eines gerichteten Graphen
MehrProgrammierung 2 Studiengang MI / WI
Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung
MehrTeil 2: Graphenalgorithmen
Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Problemstellung Ungewichtete Graphen Distanzgraphen Gewichtete
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 9. April 2009, c 2009 D.Rösner D.
MehrBreitensuche BFS (Breadth First Search)
Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;
MehrBipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.
Netzwerkalgorithmen Bipartites Matching (Folie 90, Seite 80 im Skript) Gegeben: Ein bipartiter, ungerichteter Graph (V, V, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Ein Matching ist eine
MehrADS 2: Algorithmen und Datenstrukturen
ADS 2: Algorithmen und Datenstrukturen Teil 2 Prof. Peter F. Stadler & Sebastian Will Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität Leipzig 16. April
Mehr14. Elementare Graphalgorithmen
Graphen sind eine der wichtigsten Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Übersicht: Zunächst eine kurze Einführung in Graphen. Dann
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2017/18 20. Vorlesung Tiefensuche und topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Themen für den 3. Kurztest (Do, 25.01.18)
Mehr(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.
(a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 8 FS 16
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik. April 0
MehrEffiziente Algorithmen
Effiziente Algorithmen Martin Hofmann und Jan Johannsen Institut für Informatik LMU München Sommersemester 2002 Graphalgorithmen Grundlegendes Repräsentation von Graphen Breiten- und Tiefensuche Minimale
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrGraphalgorithmen I. Yannik Tannhäuser Hallo Welt! -Seminar LS 2
Graphalgorithmen I Yannik Tannhäuser 22.05.2019 Hallo Welt! -Seminar LS 2 Motivation Königsberger rückenproblem, 1736 von Leonhard uler gelöst Viele Probleme lassen sich auf (auch heute noch) Graphen übertragen
MehrCustomization (Zuschneiden)
Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum
Mehr10. Übungsblatt zu Algorithmen I im SS 2010
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 17. Vorlesung Graphen: Repräsentation und Durchlaufstrategien Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Vorlesungsumfrage Nutzen Sie
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
MehrTeil 2: Graphenalgorithmen
Teil 2: Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Minimal aufspannende Bäume Flüsse in Netzwerken Zusammenhangskomponenten
MehrEin Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.
Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten
MehrJava. public D find(k k) { Listnode K, D n = findnode(k); if(n == null) return null; return n.data; Java
Einführung Elementare Datenstrukturen (Folie 27, Seite 15 im Skript) Java Java public D find(k k) { Listnode K, D n = findnode(k); if(n == null) return null; return n.data; } protected Listnode K, D findnode(k
MehrModul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 1 V9/11
Modul: Programmierung B-PRG Grundlagen der Programmierung Teil V9/ Graphen und Bäume Professur für Graphische Datenverarbeitung Institut für Informatik Fachbereich Informatik und Mathematik (2) Rückblick:
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 3 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrAlgorithmen & Datenstrukturen 2 Praktikum 3
Algorithmen & Datenstrukturen 2 Praktikum 3 Thema: Graphalgorithmen Sommersemester 2016 Prof. Dr. Christoph Karg Hochschule Aalen Dieses Praktikum widmet sich dem Thema Graphalgorithmen. Ziel ist die Implementierung
MehrEinheit 11 - Graphen
Einheit - Graphen Bevor wir in medias res (eigentlich heißt es medias in res) gehen, eine Zusammenfassung der wichtigsten Definitionen und Notationen für Graphen. Graphen bestehen aus Knoten (vertex, vertices)
MehrDas Heiratsproblem. Definition Matching
Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung
MehrLösungen zu Kapitel 5
Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V
MehrTutoraufgabe 1 (Starke Zusammenhangskomponenten):
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Allgemeine Hinweise: Datenstrukturen und Algorithmen SS1 Übungsblatt (Abgabe 4.0.01) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder
Mehr