Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
|
|
- Adolf Schuler
- vor 7 Jahren
- Abrufe
Transkript
1 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 3. Hash-Verfahren (Streuspeicherung) 7. Graphen 1. Darstellung und Topologisches Sortieren 2. Kürzeste Wege 3. Fluß- und Zuordnungsprobleme
2 Graphen Ein (gerichteter) Graph ist ein Paar G = <V, E>, wobei gilt: V ist eine endliche Menge von Knoten (engl. : Vertex) und E ist eine zweistellige Relation auf V, d.h. E V x V. Die Elemente von E werden Kanten (engl. : Edge) genannt. Gilt G = <V, E > mit V V und E E, so heißt G Teilgraph von G.
3 Graphen: Beispiele (1) V1 = Menge aller Flughäfen in Deutschland. G1 = { (x,y) V1 x V1 Es gibt einen Direktflug zwischen x und y } (2) V2 = Bevölkerung von Erlangen G2 = { (x,y) V2 x V2 x kennt y } (3) V3 = Bevölkerung von Erlangen G3 = { (x,y) V3 x V3 x ist verheiratet mit y }. G3 ist Teilgraph von G2
4 Sei G= <V, E>: Bildliche Darstellung von Graphen Einen Knoten v V stellt man durch einen Punkt oder durch einen kleinen Kreis dar. Eine Kante (x,y) E stellt man durch einen Pfeil vom Knoten x zum Knoten y dar. Beispiel: V = {A,B,C,D,E,F,G,H } E = {(A,D), (D,A), (A,B), (B,C), (C,A), (B,E), (A,E), (F,G), (F,F)}. A C B D E H F G
5 Ungerichtete Graphen Sei G = <V,E>. Falls für jedes e E mit e = (v1,v2) gilt: e = (v2,v1) E, so heißt G ungerichteter Graph, ansonsten gerichteter Graph. Die Relation E ist in diesem Fall symmetrisch. Bei einem ungerichteten Graphen gehört zu jedem Pfeil von x nach y auch ein Pfeil von y nach x. Daher lässt man Pfeile ganz weg und zeichnet nur ungerichtete Kanten.
6 V = einige Städte Ungerichtete Graphen: Beispiel E = { (x,y) Es gibt eine direkte Bahnverbindung zwischen x und y } Marburg 4 Kassel Köln 5 Bonn 0 Gießen Fulda 1 Frankfurt 6 Mannheim 8 Würzburg
7 Pfade, Zyklen und Gewichte Eine Kante k = (x,y) heißt inzident zu x und y. Ein Pfad (oder Weg) von x nach y ist eine Folge (x=a 0, a 1,..., a p =y) von Knoten mit (a i, a i+1 ) E. p wird die Länge des Weges von x nach y genannt. In einem einfachen Pfad kommt jeder Knoten höchstens einmal vor. Ein Pfad der Länge p > 1 von x nach x, in dem außer x kein Knoten mehr als einmal vorkommt, heißt Zyklus. Ein gerichteter Graph <V, E> heißt zyklenfrei oder gerichteter azyklischer Graph (engl: directed acyclic graph, kurz: dag), wenn er keine Zyklen enthält.
8 Beispiele (B, C, A, D, A) ist ein Pfad von B nach A. Er enthält einen Zyklus: (A, D, A). (C, A, B, E) ist einfacher Pfad von C nach E. A B D F (F, F, F, G) ist ein Pfad. H (A, B, C, A) und (A, D, A) und (F, F) sind die einzigen Zyklen. (A, B, E, A) ist kein Pfad und kein Zyklus. C E G <{A,B,C,E}, {(A,B), (B,C), (B,E), (A,E)}> ist ein azyklischer Teilgraph von G.
9 Bewertete Graphen Ein Graph G = <V, E> kann zu einem bewerteten Graphen G = <V, E, gw(e)> erweitert werden, wenn man eine Gewichtsfunktion gw: E int (oder gw: E float/double) hinzunimmt, die jeder Kante e E ein (positives, ganzzahliges oder reelles) Gewicht gw(e) zuordnet. Für einen Weg w = (x=a 0, a 1,..., a p =y) heißt p-1 L(w) = Σ gw(a i, a i+1 ) i=0 die bewertete Länge von w. Im folgenden Beispiel gilt: L (Marburg, Gießen, Frankfurt, Mannheim) = 184
10 Bewertete Graphen : Beispiel 1 Köln 5 34 Bonn Marburg 7 30 Gießen Frankfurt 4 Kassel 96 2 Fulda Würzburg Mannheim
11 Bewertete Graphen: ein weiteres Beispiel San Rafael Richmond 2 15 Rund um die Bucht von San Francisco San Francisco 0 15 Pacifica Half Moon Bay San Mateo Palo Alto Oakland 20 5 Hayward Fremont San Jose Santa Clara Scotts Valley Santa Cruz 60 Watsonville 11
12 Zusammenhangskomponenten: Beispiel Ungerichtete Graphen und Zusammenhang Ungerichtete Graphen sind Spezialfälle von gerichteten Graphen. Zusätzlich soll für ungerichtete Graphen gelten: G heißt zusammenhängend, wenn es zwischen je zwei (verschiedenen) Knoten einen Weg gibt. Ist G nicht zusammenhängend, so zerfällt er in eine Vereinigung zusammenhängender Komponenten (auch Zusammenhangskomponenten genannt). Ein zusammenhängender zyklenfreier Graph ist ein Baum. Eine Gruppe paarweise nicht zusammenhängender Bäume heißt Wald. Jeder zyklenfreie ungerichtete Graph ist also ein Wald. A C B D E H F G
13 Starke Zusammenhangskomponenten: Beispiel Zusammenhang in gerichteten Graphen Die Definitionen für Zusammenhang und Zusammenhangskomponenten lassen sich für gerichteten Graphen ausdehnen: Ein gerichteter Graph G heißt stark zusammenhängend, wenn es zwischen je zwei (verschiedenen) Knoten einen Weg gibt. Für einen beliebigen Graphen G kann man die Menge seiner starken Zusammenhangskomponenten betrachten. Zwei Knoten a und b liegen in der gleichen Komponente Z, wenn sowohl ein Weg von a nach b als auch einer von b nach a in Z existiert. Ein gerichteter Graph G heißt schwach zusammenhängend, wenn der entsprechende ungerichtete Graph, der aus G durch Hinzunahme aller Rückwärtskanten entsteht, zusammenhängend ist. A C B D E H F G
14 Aufspannender Baum Ist G zusammenhängend und R ein zusammenhängender, zyklenfreier Teilgraph von G, der alle Knoten von G enthält, so heißt R ein (auf)spannender oder erzeugender Baum (engl.: spanning tree) von G. Einfacher Algorithmus SpT zur Konstruktion des (auf)spannenden Baums für G: Solange es einen Zyklus gibt, entferne eine Kante aus diesem Zyklus Rekursiver Algorithmus SpT zur Konstruktion des (auf)spannenden Baums für G: Markiere einen beliebigen Knoten v V Wiederhole für alle von v ausgehenden Kanten e = (v,v') E: Wenn v' unmarkiert, markiere v' und führe SpT (v') aus, sonst lösche e (und gehe zur nächsten Kante weiter).
15 Erzeugender Baum : Beispiel Ein Graph G Ein erzeugender Baum von G
16 Repräsentation von Graphen Für die Repräsentation eines Graphen kommen in erster Linie zwei Datenstrukturen in Frage: eine Boolesche Matrix (auch Adjazenzmatrix genannt): eine Liste oder ein Array von Listen (für die Knoten des Graphen und deren jeweilige Verbindungen). Repräsentation durch eine Adjazenzmatrix: Ein Graph G = ( V, E) ist i.w. durch die Angabe seiner Kanten E V x V bestimmt. So wie Teilmengen von V durch Boolesche Arrays dargestellt werden können, kann man Teilmengen von V V durch Boolesche Matrizen (sog. Adjazenzmatrizen) darstellen. boolean [][] Graph; Dies setzt natürlich voraus, daß wir mit V eine Aufzählung der Knoten des Graphen haben.
17 Adjazenzmatrix: Beispiel String [] Knoten = {"A", "B", "C", "D", "E", "F", "G", "H"}; boolean [][] Kanten = { {false, true, false, true, true, false, false, false}, {false, false, true, false, true, false, false, false},... // usw. }; A C B D E H F G A B C D E F G H A x x B x C D E F G x x x x x x H ( True = x, False = " " )
18 Definition einer Graph-Klasse (1) class Graph{ String [] Knoten; int KnotenZahl; int[][] Kanten ; Graph(String [] Knotenliste, int [] [] Kantenliste){ Knoten = Knotenliste; Kanten = Kantenliste; KnotenZahl = knoten.length; } }
19 Bewertete Adjazenzmatrizen (1) Viele der klassischen Anwendungsbeispiele für Graphen kommen aus dem Bereich der Verkehrsnetze. Wir wollen daher die folgenden Algorithmen anhand zweier umfangreichen Beispiele aus diesem Bereich erläutern. Kanten sind mögliche direkte Verkehrsverbindungen (Straßen) zwischen Städten. Bewertet werden sie mit einer Maßzahl, welche die Entfernung und/oder den durchschnittlichen Zeitaufwand für eine Fahrt zwischen den Städten reflektiert. Dabei haben die Knoten jeweils einen Namen (den Städtenamen) und eine Nummer in der Aufzählung. Daraus kann man dann eine Matrixdarstellung gewinnen.
20 Bewertete Adjazenzmatrizen (2) Bei dieser Matrix sind die Einträge keine Booleschen Werte mehr, sondern entsprechen den Bewertungen der Kanten. Wenn der Wert nicht in der Matrix erscheint, bedeutet das, daß keine direkte Verbindung zwischen den entsprechenden Städten existiert. In der Diagonalen steht die Bewertung der Verbindung jeder Stadt mit sich selbst. Diese wird hier stets mit 0 angenommen. Wir haben damit das Prinzip der Adjazenzmatrix auf bewertete Graphen erweitert. Statt eines booleschen Werts speichert man das Gewicht gw (u,v) jeder Kante an an der betreffenden Position M[u,v] der Matrix M. M. Ist G ein ungerichteter Graph, so ist die Matrix symmetrisch - d.h. man kommt im Prinzip mit einer Dreiecksmatrix aus.
21 Bewertete Adjazenzmatrix: Beispiel BN F FD GI KS K MA MR WÜ BN F FD GI KS K MA MR WÜ
22 Bewertete Adjazenzmatrix: Beispiel
23 Adjazenzmatrix für Beispiel 1 Bildung einer Instanz der Klasse Graph, um den Beispiel-1- Graphen zu repräsentieren. Graph Bsp1 = new Graph( {"Bonn", "Frankfurt", "Fulda", "Gießen", "Kassel", "Köln", "Mannheim", "Marburg", "Würzburg" }, { }); { 0, 181, 0, 0, 0, 34, 224, 0, 0}, {181, 0, 104, 66, 0, 0, 88, 0, 136}, { 0, 104, 0, 106, 96, 0, 0, 0, 93}, { 0, 66, 106, 0, 0, 174, 0, 30, 0}, { 0, 0, 96, 0, 0, 0, 0, 104, 0}, { 34, 0, 0, 174, 0, 0, 0, 0, 0}, {224, 88, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 30, 104, 0, 0, 0, 0}, { 0, 136, 93, 0, 0, 0, 0, 0, 0}
24 Adjazenzmatrix für Beispiel 2 Graph Bsp2 = new Graph( { "San Francisco", "San Rafael", "Richmond", "Oakland", "San Mateo", "Hayward", "Palo Alto", "Fremont", "San Jose", "Santa Clara", "Scotts Valley", "Watsonville", "Santa Cruz", "Half Moon Bay", "Pacifica" }, { { 0, 18, 0, 12, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15}, {18, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, { 0, 15, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {12, 0, 15, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {20, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, 0, 0, 25, 0}, { 0, 0, 0, 20, 20, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 18, 0, 0, 15, 0, 10, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 14, 15, 0, 20, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 20, 0, 15, 0, 60, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 10, 0, 15, 0, 35, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 10, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 70, 0, 0}, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 70, 0, 50, 0}, { 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 50, 0, 15}, {15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0} });
25 Knoten- und Kantenzugriffe Der Zugriff auf einzelne Knoten und Kanten ist mit Hilfe einfacher Zugriffsfunktionen möglich: String gibknoten (int k) { return Knoten[k];} int gibkantenw (int u, int v) { return Kanten[u][v];} Beispiel: Graph Bsp1 = new Graph(); Bsp1.gibKnoten (3); // Ergebnis: "Gießen" Bsp1.gibKantenW (3, 7); // Ergebnis: 30
26 Adjazenzlisten (1) A D Eine alternative, weniger speicheraufwendige Methode, einen Graphen darzustellen, besteht darin, zu jedem Knoten eine Liste zu definieren, in der die unmittelbaren Nachbarn samt der Gewichte ihrer Verbindungen enthalten sind. C A B B E C D F H G E F G H Dabei wird jedem Knoten eine Adjazenzliste (= Liste seiner Nachbarknoten) zugeordnet. B D C E A A F G E
27 Adjazenzlisten (2) Die Darstellung eines Graphen mit einer Adjazenzliste spart Speicherplatz, da die speicheraufwendige (und hochgradig redundante) Adjazenzmatrix vermieden wird. Leider ist bei der Listendarstellung der Aufwand für einen direkten Zugriff auf den Wert einer Kante von x nach y hoch. Dieser Zugriff erfolgt jedoch bei typischen Graphalgorithmen recht häufig. Im Falle der Verwendung einer Adjazenzmatrix ist der Zugriff direkt möglich, im Falle der Listendarstellung führt der entsprechende Zugriff zu einer Suche in der Liste aller Nachbarn.
28 Adjazenzlisten für Beispiel 1 0 Bonn null 1 Frankfurt null 2 Fulda null 3 Gießen Kassel null 5 Köln null 6 Mannheim null 7 Marburg null 8 Würzburg null 7 30 null
29 Adjazenzlisten für Beispiel 2 0 San Francisco San Rafael null 2 Richmond null null 3 Oakland null 4 San Mateo Hayward null 6 Palo Alto null 7 Fremont null 8 San Jose null 9 Santa Clara null 10 Scotts Valley null 11 Watsonville null 12 Santa Cruz null 13 Half Moon Bay null 14 Pacifica null
30 Adjazenzliste für Beispiel 2 (1) Eine Klasse zur Repräsentation von Verbindungen class Verbindung{ int Laenge; int ziel; Verbindung next; } Verbindung(int l, int w, Verbindung v){ Laenge = l; ziel = w; next = v; }
31 Adjazenzliste für Beispiel 2 (2) Eine Klasse zur Repräsentation von Knoten class KnotenTyp{ String Name; Verbindung Nachbarn; } KnotenTyp(String s, Verbindung v){ Name = s; Nachbarn = v; }
32 Definition einer Graph-Klasse (2) class Graph{ KnotenTyp [] Knoten; int KnotenZahl; } Graph(Knotentyp [] KnotenTypListe){ Knoten = KnotenTypListe; KnotenZahl = knoten.length; }
33 Adjazenzliste für Beispiel 2 (3) Realisierung des Graphen KnotenTyp [] Knoten = new KnotenTyp[15]; Knoten[ 0] = new KnotenTyp("San Francisco", new Verbindung(18, 1, new Verbindung(12, 3, new Verbindung(20, 4, new Verbindung(15, 14, null))))); Knoten[ 1] = new KnotenTyp("San Rafael", new Verbindung(18, 0, new Verbindung(15, 2, null))); Knoten[ 2] = new KnotenTyp("Richmond", new Verbindung(15, 1, new Verbindung(15, 3, null)));... /// usw. usw. usw... Graph mygraph= new Graph(Knoten);
34 Knoten- und Kantenzugriffe Der Zugriff auf einzelne Knoten ist immer noch einfach: String gibknoten (int k) { return Knoten[k].Name[k]; } Der Zugriff auf einzelne Kanten ist nur mit Hilfe einer aufwendigeren Zugriffsfunktionen möglich: int gibkantenw (int u, int v) { Verbindung vp = Knoten[u].Nachbarn; while (vp!= null){ if (vp.ziel == v) return vp.laenge; vp = vp.next; } return 0; }
35 Implementierung durch Listen von Listen (1) Eine weitere Möglichkeit zur Implementierung von Graphen besteht darin, auch die Folge der Knoten auf eine Liste abzubilden, d.h. der gesamte Graph wird durch eine Liste von Listen dargestellt. A B D E B C E A D C A F D A C B E H G E F G F G H
36 Implementierung durch Listen von Listen (2) class Edge { int dest, cost; public Edge (int d, int c) { dest = d; cost = c; } } public class Graph { private Hashtable labels; private Vector nodes; public Graph () { labels = new Hashtable (); nodes = new Vector (); }
37 Implementierung durch Listen von Listen (3) public void addnode (String label) { if (labels.contains (label)) throw new NodeAlreadyDefinedException (); nodes.addelement (new LinkedList ()); int idx = nodes.size () - 1; labels.put (label, new Integer (idx)); } 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) { LinkedList adjlist = (LinkedList) nodes.elementat (getnodeid (src)); adjlist.add (new Edge (getnodeid (dest), cost)); } public Iterator getedges (int node) { return ((LinkedList) nodes.elementat (node)).iterator (); }
38 Vergleich der Implementierungen Alle hier betrachteten Möglichkeiten zur Implementierung von Graphen haben ihre spezifischen Vor- und Nachteile. Seien n = Knotenzahl und m = Kantenzahl eines Graphen G. Vorteile Nachteile Adjazenzmatrix Adjazenzliste Liste von Listen Berechnung der Inzidenz mit O(1) Platzbedarf beträgt nur O(n+m) Knoten lassen sich flexibel hinzufügen/ löschen hoher Platzbedarf und teure Initialisierung: beide O(n 2 ) Effizienz der Kantensuche abhängig von Knotenordnung O(m) Effizienz von Knoten- und Kantensuche abhängig von Listenposition O(m.n)
39 Literatur Die Vorlesungsfolien wurden aus der Vorlesung Informatik II a, SS 2002 von Prof. Sommer (Uni-Marburg) übernommen
Gliederung. 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
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
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
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
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
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
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:
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
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
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
MehrWir nennen einen Pfad in einem gerichteten Graphen Zyklus, wenn der Pfad im gleichen Knoten beginnt und endet, d. h.
aaacmxicdvdlsgmxfl1t3/vv69jntaiuyowubbdcwy1lbfuqwkomtwuyzgri7ltgwa9wa7/cr+lo3potpq2c9xegcdjnxu7j8wmpdlru2mktlc4tr6yu5dc3nre2czvfhlgjzrzolfs65vpdpyh4hqvk3oo1p6evedmpzid+c8i1esq6xjtmnzaoitexjkkvbozdl5yrytfofkpu+bhacu+q5dfxyu4updp+pkobwgv3xyne9hrlqh4hk9sytufg2mmorsekf8zfjobhlav0wnuwrjtkppnnez+sq6v0sf9p+yiku/x7rkzdy9lqt5mhxtvz05uif3q+ugfs38zdz1aedznlwqtwndwpjarvvfmrfpuvtiaioeeesvnqfiijkjkpj/se5gxlagllwti/enzhnwvos87bfr+qiv+txnhzc8velveqvwcgvdidazgcd06hbhdwcxvgemitpmpiexhgzqvznhvnoz87uzah5/0djy+sia==
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,
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
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
MehrRouting A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrRouting Algorithmen. Begriffe, Definitionen
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
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
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.
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)
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
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
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
MehrGliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
Gliederung 5. Compiler 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
MehrVerkettete Datenstrukturen: Bäume
Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller
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.
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
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Graphalgorithmen I Florian Schmaus florian.schmaus@informatik.stud.uni-erlangen.de Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht I. Grundlagen
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz http://www.inf.uni-konstanz.de/algo/lehre/ss08/info2 Sommersemester 2008 Sven Kosub
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
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
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
MehrKodieren Von Graphen
Kodieren Von Graphen Allgemeine Anwendungen: Routenplaner Netzpläne Elektrische Schaltungen Gebäudeerkennung aus Luftaufnahmen Definitionen:? Graph Ein Graph G besteht aus einem geordneten Paar G = (V,E)
MehrB-Bäume, speziell (2,4)-Bäume / Externe Suche: BBaum- Varianten 5.7 (Rot-Schwarz-Bäume) 5.8 Streuspeicherverfahren (Hash-Verfahren)
Übersicht Effiziente Repräsentation von Mengen und Relationen.... B-Bäume, speziell (,)-Bäume / Externe Suche: BBaum- Varianten.7 (Rot-Schwarz-Bäume).8 Streuspeicherverfahren (Hash-Verfahren). Weitere
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
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.
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.
MehrTeil 2: Graphenalgorithmen
Teil : Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Minimal aufspannende Bäume Problemstellung Algorithmus von Prim
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
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
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
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
MehrInformatik II, SS 2016
Informatik II - SS 208 (Algorithmen & Datenstrukturen) Vorlesung 4 (..208) Graphenalgorithmen III Algorithmen und Komplexität Bäume Gegeben: Zusammenhängender, ungerichteter Graph G = V, E Baum: Zusammenhängender,
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
MehrFolien aus der Vorlesung Optimierung I SS2013
Folien aus der Vorlesung Optimierung I SS2013 Dr. Jens Maßberg Institut für Optimierung und Operations Research, Universität Ulm July 10, 2013 Datenstrukturen für Graphen und Digraphen Graph Scanning Algorithmus
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 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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
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
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.
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 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
MehrGraphen. Anwendung, Repräsentation, Tiefensuche, Breitensuche, Warshall s Algorithmus, kürzeste Wege.
Graphen Anwendung, Repräsentation, Tiefensuche, Breitensuche, Warshall s Algorithmus, kürzeste Wege. Klausurtermine Nachklausur Do..0.0, 9- Uhr HS V Abschlussklausur Di...0 im AudiMax bisherige Uhrzeit:
MehrDabei handelt es sich um eine Tabelle, in der die Zeilen- und Spaltenüberschriften die Knotenbezeichner sind.
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen Für die Darstellung eines Graphen eignet sich die sogenannte Adjazenzmatrix. Dabei handelt es sich um eine Tabelle, in der die Zeilen- und Spaltenüberschriften
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 9 Graphen Version vom 13. Dezember 2016 1 / 1 Vorlesung Fortsetzung 13. Dezember
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
Mehr5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen
Grundlagen der Mathematik für Informatiker 1 Grundlagen der Mathematik für Informatiker 5 Graphen 5.1 Gerichtete Graphen Definition 5.1 (V, E) heißt gerichteter Graph (Digraph), wenn V Menge von Knoten
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 2010, 29. März 2010, c 2010 D.Rösner D.
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,
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
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
MehrGraphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke
Graphen Graphentheorie Graphentheorie Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke 2 Was ist ein Graph? Ein Graph ist in der Graphentheorie eine abstrakte Struktur,
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.
Mehr2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
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
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
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),
MehrVollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).
Vollständiger Graph Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete). Mit K n wird der vollständige Graph mit n Knoten bezeichnet. Bemerkung
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrKapitel 12: Induktive
Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter
MehrBeispiel Strassennetz
Graphen Sie wissen wie Graphen definiert sind und kennen deren Varianten Sie wissen wofür man sie verwendet Sie können Graphen in Java implementieren Sie kennen die Algorithmen und können sie auch implementieren:
MehrRelationen und Graphentheorie
Seite Graphentheorie- Relationen und Graphentheorie Grundbegriffe. Relationen- und Graphentheorie gehören zu den wichtigsten Hilfsmitteln der Informatik, die aus der diskretenmathematik stammen. Ein Graph
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
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 16: Erste Algorithmen in Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
Mehr3. Die Datenstruktur Graph
3. Die Datenstruktur Graph 3.1 Einleitung: Das Königsberger Brückenproblem Das Königsberger Brückenproblem ist eine mathematische Fragestellung des frühen 18. Jahrhunderts, die anhand von sieben Brücken
Mehr1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009
. Klausur zur Vorlesung Algorithmentechnik Wintersemester 008/009 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie den Aufkleber mit Ihrem
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
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrDiskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)
WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15
MehrAm Dienstag, den 15. Dezember, ist Eulenfest. 1/60
Am Dienstag, den 15. Dezember, ist Eulenfest. 1/60 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester
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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdarstellungen Maike Buchin 0.6.017 Graphen Motivation: Graphen treten häufig als Abstraktion von Objekten (Knoten) und ihren Beziehungen (Kanten) auf. Beispiele: soziale
MehrFreie Bäume und Wälder
(Martin Dietzfelbinger, Stand 4.6.2011) Freie Bäume und Wälder In dieser Notiz geht es um eine besondere Sorte von (ungerichteten) Graphen, nämlich Bäume. Im Gegensatz zu gerichteten Bäumen nennt man diese
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
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 3: Einführung in die Graphentheorie - Teil 3 Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 2. März 2018 1/72 ZUSAMMENHANG
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Graphen 9/1 Begriffsdefinitionen Ein Graph besteht aus Knoten und Kanten. Ein Knoten(Ecke) ist ein benanntes Objekt. Eine Kante verbindet zwei Knoten. Kanten haben ein Gewicht
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES
MehrMassive Parallelität : Neuronale Netze
Massive Parallelität : Neuronale Netze PI2 Sommer-Semester 2005 Hans-Dieter Burkhard Massive Parallelität : Neuronale Netze Knoten: Neuronen Neuronen können erregt ( aktiviert ) sein Kanten: Übertragung
MehrEinführung in die Informatik I
Einführung in die Informatik I Graphen und Bäume Prof. Dr. Nikolaus Wulff Weitere Datentypen Als wichtige abstrakte Datentypen (ADT) kennen wir bis lang die Liste, den Stapel und die Warteschlange. Diese
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 & 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
MehrGraphen. Graphen und ihre Darstellungen
Graphen Graphen und ihre Darstellungen Ein Graph beschreibt Beziehungen zwischen den Elementen einer Menge von Objekten. Die Objekte werden als Knoten des Graphen bezeichnet; besteht zwischen zwei Knoten
MehrKürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring
Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n
Mehr5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
MehrGraphen. Definitionen
Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um
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
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
Mehr1 Datenstrukturen Datenstrukturen und Algorithmen
1 Datenstrukturen 1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen 1 1.5 Graphen Darstellung allgemeiner Beziehungen zwischen Objekten/Elementen Objekte = Knoten:
Mehr