Graphenalgorithmen I
|
|
- Pia Pfaff
- vor 6 Jahren
- Abrufe
Transkript
1 Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33
2 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket im Internet am schnellsten von A nach B? Herangehensweise Verkehrs- bzw. Computernetz als Graph darstellen, kürzesten Weg suchen Graphenalgorithmen I 2/33
3 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket im Internet am schnellsten von A nach B? Herangehensweise Verkehrs- bzw. Computernetz als Graph darstellen, kürzesten Weg suchen Graphenalgorithmen I 2/33
4 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket im Internet am schnellsten von A nach B? Herangehensweise Verkehrs- bzw. Computernetz als Graph darstellen, kürzesten Weg suchen Graphenalgorithmen I 2/33
5 Gliederung 1 Motivation 2 Grundlagen Definitionen & Begriffe Klassifizierung 3 Datenstrukturen Adjazenzliste Adjazenzmatrix 4 Algorithmen Traversierung Topologische Sortierung 5 Zusammenhangskomponenten Zusammenhang Brücken & Artikulationspunkte 6 Abschluss Zusammenfassung Ende Graphenalgorithmen I 3/33
6 Gliederung 1 Motivation 2 Grundlagen Definitionen & Begriffe Klassifizierung 3 Datenstrukturen Adjazenzliste Adjazenzmatrix 4 Algorithmen Traversierung Topologische Sortierung 5 Zusammenhangskomponenten Zusammenhang Brücken & Artikulationspunkte 6 Abschluss Zusammenfassung Ende Graphenalgorithmen I 4/33
7 Graphen Definition Ein Graph G ist ein 2-Tupel (V, E) mit V Menge der Knoten (en. vertex, pl. vertices) E Menge der Kanten (en. edge, pl. edges) Beispiel 2 C B 2 4 A V = {A, B, C} E = { (A, B, 4), (A, C, 2), (C, B, 2) } Graphenalgorithmen I 5/33
8 Graphen Definition Ein Graph G ist ein 2-Tupel (V, E) mit V Menge der Knoten (en. vertex, pl. vertices) E Menge der Kanten (en. edge, pl. edges) Beispiel 2 C B 2 4 A V = {A, B, C} E = { (A, B, 4), (A, C, 2), (C, B, 2) } Graphenalgorithmen I 5/33
9 Kanten Kanten Kanten gibt es in verschiedenen Ausführungen: gerichtet und ungerichtet mit und ohne Gewicht/Kosten Beispiel C A ungerichtet ohne Gewicht: V = {A, B, C} E = { {A, B}, {A, C}, {B, C} } B Graphenalgorithmen I 6/33
10 Kanten Kanten Kanten gibt es in verschiedenen Ausführungen: gerichtet und ungerichtet mit und ohne Gewicht/Kosten Beispiel C A ungerichtet ohne Gewicht: V = {A, B, C} E = { {A, B}, {A, C}, {B, C} } B Graphenalgorithmen I 6/33
11 Kanten Kanten Kanten gibt es in verschiedenen Ausführungen: gerichtet und ungerichtet mit und ohne Gewicht/Kosten Beispiel C 2 B 2 4 A ungerichtet mit Gewicht: V = {A, B, C} { ({A, ) ( ) ( ) } E = B}, 4, {A, C}, 2, {B, C}, 2 Graphenalgorithmen I 6/33
12 Knoten Der Grad eines Knotens Grad eines Knotens = Anzahl der Kanten an diesem Knoten 3 3 Graphenalgorithmen I 7/33
13 dünn und dicht besetzte Graphen E V 2 dünn besetzt E V 2 dicht besetzt Graphenalgorithmen I 8/33
14 Zyklen in Graphen azyklisch zyklisch Graphenalgorithmen I 9/33
15 Zyklen in Graphen azyklisch zyklisch Graphenalgorithmen I 9/33
16 Gliederung 1 Motivation 2 Grundlagen Definitionen & Begriffe Klassifizierung 3 Datenstrukturen Adjazenzliste Adjazenzmatrix 4 Algorithmen Traversierung Topologische Sortierung 5 Zusammenhangskomponenten Zusammenhang Brücken & Artikulationspunkte 6 Abschluss Zusammenfassung Ende Graphenalgorithmen I 1/33
17 Adjazenzliste Adjazenzliste Jedem Knoten wird eine Liste von ausgehenden Kanten zugeordnet Speicherung in Art ungewichtet gewichtet Datenstruktur List<V>[] mit V als Index List<tuple<V, Weight>>[] mit V als Index Speicherbedarf O ( E + V ) v.a. bei dünn besetzten Graphen effizient Suchen von eingehenden Kanten nicht a möglich a oder nur schlecht Graphenalgorithmen I 11/33
18 Adjazenzliste Adjazenzliste Jedem Knoten wird eine Liste von ausgehenden Kanten zugeordnet Speicherung in Art ungewichtet gewichtet Datenstruktur List<V>[] mit V als Index List<tuple<V, Weight>>[] mit V als Index Speicherbedarf O ( E + V ) v.a. bei dünn besetzten Graphen effizient Suchen von eingehenden Kanten nicht a möglich a oder nur schlecht Graphenalgorithmen I 11/33
19 Adjazenzliste Beispiel Beispiel 2 C B 2 4 A Knoten Kanten A (B, 4), (C, 2) B (A, 4), (C, 2) C (A, 2), (B, 2) Graphenalgorithmen I 12/33
20 Adjazenzmatrix Adjazenzmatrix V V -Matrix; a ij ist falls (i, j) V (d.h. die Kante von i nach j existiert): das Gewicht der Kante in gewichteten Graphen 1 in ungewichteten Graphen ein ungültiger Wert, falls die Kante nicht existiert (z.b. ) für ungerichtete Graphen nur Dreiecksmatrix nötig Prüfen der Existenz einer Kante: O (1) ( Speicherbedarf O V 2), unabhängig von E Graphenalgorithmen I 13/33
21 Adjazenzmatrix Adjazenzmatrix V V -Matrix; a ij ist falls (i, j) V (d.h. die Kante von i nach j existiert): das Gewicht der Kante in gewichteten Graphen 1 in ungewichteten Graphen ein ungültiger Wert, falls die Kante nicht existiert (z.b. ) für ungerichtete Graphen nur Dreiecksmatrix nötig Prüfen der Existenz einer Kante: O (1) ( Speicherbedarf O V 2), unabhängig von E Graphenalgorithmen I 13/33
22 Adjazenzmatrix Beispiel Beispiel 2 C B 2 4 A A B C A 4 2 B 2 C Graphenalgorithmen I 14/33
23 Gliederung 1 Motivation 2 Grundlagen Definitionen & Begriffe Klassifizierung 3 Datenstrukturen Adjazenzliste Adjazenzmatrix 4 Algorithmen Traversierung Topologische Sortierung 5 Zusammenhangskomponenten Zusammenhang Brücken & Artikulationspunkte 6 Abschluss Zusammenfassung Ende Graphenalgorithmen I 15/33
24 Tiefensuche Tiefensuche Durchsuchen eines Graphen z.b. zum Finden von Zyklen O ( V + E ) begin DFS start, ziel if start = ziel then return true; if start als besucht markiert then return false; start als besucht markieren; foreach n: start.children do if DFS(n, ziel) then return true; end return false end Graphenalgorithmen I 16/33
25 Tiefensuche Tiefensuche Durchsuchen eines Graphen z.b. zum Finden von Zyklen O ( V + E ) begin DFS start, ziel if start = ziel then return true; if start als besucht markiert then return false; start als besucht markieren; foreach n: start.children do if DFS(n, ziel) then return true; end return false end Graphenalgorithmen I 16/33
26 Iterative Tiefensuche 1 p u b l i c c l a s s DFSIter { 2 p u b l i c s t a t i c boolean d f s ( L i s t <Vertex > v e r t i c e s, L i s t < Edge> edges, V e r t e x s t a r t, V e r t e x end ) { 3 Stack<Vertex > l i s t = new Stack<Vertex >() ; 4 TreeSet<Vertex > v i s i t e d = new TreeSet<Vertex >() ; 5 6 l i s t. push ( s t a r t ) ; 7 w h i l e ( l i s t. s i z e ( ) > ) { 8 V e r t e x v = l i s t. pop ( ) ; 9 1 i f ( v i s i t e d. c o n t a i n s ( v ) ) c o n t i n u e ; 11 v i s i t e d. add ( v ) ; i f ( s t a r t == end ) r e t u r n t r u e ; 14 f o r ( V e r t e x c : v. c h i l d r e n ) 15 i f (! v i s i t e d. c o n t a i n s ( c ) ) 16 l i s t. push ( c ) ; 17 } 18 r e t u r n f a l s e ; 19 } 2 } Graphenalgorithmen I 17/33
27 Breitensuche 1 p u b l i c c l a s s BFS { 2 p u b l i c s t a t i c boolean b f s ( L i s t <Vertex > v e r t i c e s, L i s t < Edge> edges, V e r t e x s t a r t, V e r t e x end ) { 3 Queue<Vertex > l i s t = new Queue<Vertex >() ; 4 TreeSet<Vertex > v i s i t e d = new TreeSet<Vertex >() ; 5 6 l i s t. add ( s t a r t ) ; 7 w h i l e ( l i s t. s i z e ( ) > ) { 8 V e r t e x v = l i s t. remove ( ) ; 9 1 i f ( v i s i t e d. c o n t a i n s ( v ) ) c o n t i n u e ; 11 v i s i t e d. add ( v ) ; i f ( s t a r t == end ) r e t u r n t r u e ; 14 f o r ( V e r t e x c : v. c h i l d r e n ) 15 i f (! v i s i t e d. c o n t a i n s ( c ) ) 16 l i s t. add ( c ) ; 17 } 18 r e t u r n f a l s e ; 19 } 2 } Graphenalgorithmen I 18/33
28 Topologische Sortierung Topsort Arbeitet auf gerichteten, azyklischen Graphen (sog. DAGs) Interpretiert Kanten als Abhängigkeiten und sortiert die Knoten so in eine Liste, dass die Abhängigkeiten erfüllt sind Es kann mehrere solche topologische Sortierungen geben Algorithmus: 1. Suche Knoten ohne Eingangskante 2. Markiere und entferne Knoten 3. Wiederhole, bis Graph leer Aufwand analog zu Tiefensuche Graphenalgorithmen I 19/33
29 Jacke Hose Schuhe Hemd Shorts Socken Graphenalgorithmen I 2/33
30 Jacke Hose Schuhe Hemd Socken Shorts Graphenalgorithmen I 2/33
31 Jacke Hose Schuhe Hemd Shorts Socken Graphenalgorithmen I 2/33
32 Jacke Hose Schuhe Shorts Socken Hemd Graphenalgorithmen I 2/33
33 Jacke Schuhe Shorts Socken Hemd Hose Graphenalgorithmen I 2/33
34 Jacke Shorts Socken Hemd Hose Schuhe Graphenalgorithmen I 2/33
35 Shorts Socken Hemd Hose Schuhe Jacke Graphenalgorithmen I 2/33
36 Shorts Socken Hemd Hose Schuhe Jacke Graphenalgorithmen I 2/33
37 Gliederung 1 Motivation 2 Grundlagen Definitionen & Begriffe Klassifizierung 3 Datenstrukturen Adjazenzliste Adjazenzmatrix 4 Algorithmen Traversierung Topologische Sortierung 5 Zusammenhangskomponenten Zusammenhang Brücken & Artikulationspunkte 6 Abschluss Zusammenfassung Ende Graphenalgorithmen I 21/33
38 Zusammenhang E E B D B D A C A C zusammenhängend nicht zusammenhängend Graphenalgorithmen I 22/33
39 Zusammenhang E E B D B D A C A C stark zusammenhängend schwach zusammenhängend Graphenalgorithmen I 23/33
40 Finden von Zusammenhangskomponenten in ungerichteten Graphen mittels Tiefensuche Färben des Graphen begin FindComponents c := ; visited[] := false; component[] := -1; foreach n: nodes do if! visited[n] then DFS(n, c); increment c; end end end Input: node n, component number c begin DFS n, c if! visited[n] then visited[n] := true; component[n] := c; foreach child: n.children do DFS(child, c) end end end Graphenalgorithmen I 24/33
41 Finden von Zusammenhangskomponenten in ungerichteten Graphen mittels Tiefensuche Färben des Graphen begin FindComponents c := ; visited[] := false; component[] := -1; foreach n: nodes do if! visited[n] then DFS(n, c); increment c; end end end Input: node n, component number c begin DFS n, c if! visited[n] then visited[n] := true; component[n] := c; foreach child: n.children do DFS(child, c) end end end Graphenalgorithmen I 24/33
42 Finden von Zusammenhangskomponenten in ungerichteten Graphen mittels Tiefensuche Färben des Graphen begin FindComponents c := ; visited[] := false; component[] := -1; foreach n: nodes do if! visited[n] then DFS(n, c); increment c; end end end Input: node n, component number c begin DFS n, c if! visited[n] then visited[n] := true; component[n] := c; foreach child: n.children do DFS(child, c) end end end Graphenalgorithmen I 24/33
43 Finden von Zusammenhangskomponenten in gerichteten Graphen mit dem Algorithmus von Kosaraju 1. Alle Knoten durch Tiefensuche nummerieren und bei der Rückkehr aus der Rekursion auf einen Stack legen 2. transponierten Graphen G T = ( V, E T ) erzeugen E T = { (v, u) (u, v) E } 3. Graph analog zur Suche bei ungerichteten Graphen durch Tiefensuche in Reihenfolge des Stacks färben Ein Knoten kann nicht in zwei Zusammenhangskomponenten sein! Graphenalgorithmen I 25/33
44 F E C D A B Graphenalgorithmen I 26/33
45 F E C D B Graphenalgorithmen I 26/33
46 F E 1 D B Graphenalgorithmen I 26/33
47 F E 1 2 B Graphenalgorithmen I 26/33
48 F B Graphenalgorithmen I 26/33
49 B Graphenalgorithmen I 26/33
50 4F F B Graphenalgorithmen I 26/33
51 F E3 1 2 E F B Graphenalgorithmen I 26/33
52 F E D 1 D2 E F B Graphenalgorithmen I 26/33
53 F E C D C1 D E F B Graphenalgorithmen I 26/33
54 A F E C D C D E F A B Graphenalgorithmen I 26/33
55 A F E C D C D E F A 5 Graphenalgorithmen I 26/33
56 B A F E C D C D E F A B Graphenalgorithmen I 26/33
57 B A F E C D C D E F A B Graphenalgorithmen I 26/33
58 B A F E C D C D E F A B Graphenalgorithmen I 26/33
59 B A F E C D C D E F A B Graphenalgorithmen I 26/33
60 B A F E C D C D E F A B Graphenalgorithmen I 26/33
61 B A F E C D C D E F A B Graphenalgorithmen I 26/33
62 B A F E C D C D E F A B Graphenalgorithmen I 26/33
63 B A F E C D C D E F A B Graphenalgorithmen I 26/33
64 Brücken Brücken Kante, durch deren Entfernung der Graph in zwei Zusammenhangskomponenten zerfallen würde Finden durch Tiefensuche 1. Beim Abstieg: Jedem Knoten Nummer zuweisen 2. Bei der Rückkehr: Jeder Kante Nummer des kleinsten über sie erreichbaren Knotens zuweisen Brücken sind diejenigen Kanten, deren kleinste über sie erreichbare Knotennummer größer als die Nummer des Knotens, von dem aus sie traversiert worden sind, ist Graphenalgorithmen I 27/33
65 F E C D A B Graphenalgorithmen I 28/33
66 F E C D B Graphenalgorithmen I 28/33
67 F E 1 D B Graphenalgorithmen I 28/33
68 F E 1 D 2 Graphenalgorithmen I 28/33
69 F E 1 D 2 Graphenalgorithmen I 28/33
70 F E Graphenalgorithmen I 28/33
71 F Graphenalgorithmen I 28/33
72 Graphenalgorithmen I 28/33
73 Graphenalgorithmen I 28/33
74 Graphenalgorithmen I 28/33
75 Graphenalgorithmen I 28/33
76 Graphenalgorithmen I 28/33
77 Graphenalgorithmen I 28/33
78 Graphenalgorithmen I 28/33
79 Artikulationspunkte Artikulationspunkt Knoten, durch dessen Entfernung der Graph in zwei oder mehr Zusammenhangskomponenten zerfallen würde Finden analog zu Brücken durch Tiefensuche Artikulationspunkte sind a diejenigen Knoten, deren kleinste über eine ihrer ausgehenden Kanten erreichbare Knotennummer größer oder gleich ihrer Knotennummer ist Der Startknoten ist Artikulationspunkt, falls zwei oder mehr Kanten davon ausgehen a mit Ausnahme des Startknotens Graphenalgorithmen I 29/33
80 Graphenalgorithmen I 3/33
81 Graphenalgorithmen I 3/33
82 Graphenalgorithmen I 3/33
83 Gliederung 1 Motivation 2 Grundlagen Definitionen & Begriffe Klassifizierung 3 Datenstrukturen Adjazenzliste Adjazenzmatrix 4 Algorithmen Traversierung Topologische Sortierung 5 Zusammenhangskomponenten Zusammenhang Brücken & Artikulationspunkte 6 Abschluss Zusammenfassung Ende Graphenalgorithmen I 31/33
84 Zusammenfassung Speicherung Adjazenzliste, Adjazenzmatrix Traversierung & Sortierung Tiefen- und Breitensuche, Topologische Sortierung Zusammenhangskomponenten Finden mit Tiefensuche und Kosaraju, Brücken, Artikulationspunkte Graphenalgorithmen I 32/33
85 Zusammenfassung Speicherung Adjazenzliste, Adjazenzmatrix Traversierung & Sortierung Tiefen- und Breitensuche, Topologische Sortierung Zusammenhangskomponenten Finden mit Tiefensuche und Kosaraju, Brücken, Artikulationspunkte Graphenalgorithmen I 32/33
86 Zusammenfassung Speicherung Adjazenzliste, Adjazenzmatrix Traversierung & Sortierung Tiefen- und Breitensuche, Topologische Sortierung Zusammenhangskomponenten Finden mit Tiefensuche und Kosaraju, Brücken, Artikulationspunkte Graphenalgorithmen I 32/33
87 Q&A Danke für die Aufmerksamkeit Questions & Answers Graphenalgorithmen I 33/33
Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?
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
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
MehrAlgorithmen und Datenstrukturen Graphen - Einführung
Algorithmen und Datenstrukturen Graphen - Einführung Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Definition / Eigenschaften Anwendungen Repräsentation
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
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
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
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
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
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
MehrTechnische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University
MehrGraphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
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
MehrGliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten
Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrAlgorithmen und Datenstrukturen (WS 2007/08) 63
Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders
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
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
Mehr8 Graphrepräsentation
Sanders / van Stee: Algorithmentechnik November, 7 1 8 Graphrepräsentation 1736 fragt L. Euler die folgende touristische Frage: Straßen- oder Computernetzwerke Zugverbindungen (Raum und Zeit) Soziale Netzwerke
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
MehrAlgorithmen und Datenstrukturen 2-2. Seminar -
Algorithmen und Datenstrukturen 2-2. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 2. Übungsserie: 3 Aufgaben, insgesamt 30 Punkte A4 Flußnetzwerk, Restgraphen
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
Mehr11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Mathematische Grundlagen: Das Handwerkszeug Mariano Zelke Datenstrukturen 2/26 Formeln: n - i = n (n+1) 2 und - i=1 k i=0 a i = ak+1 1 a 1, falls a 1 Rechnen
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrGraphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik
Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes
Mehr9.4.1 Wegsuche von a nach z
9.4 Wegsuche Beispiele: Weg von a nach z Weg von a nach roter Ecke alle Wege gemäß desgl. mit Länge, ferner kürzester/längster Weg... und weitere alp3-9.4 1 9.4.1 Wegsuche von a nach z Gegeben: Gesucht:
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrEinführung in Heuristische Suche
Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
MehrFlüsse, Schnitte, bipartite Graphen
Flüsse, Schnitte, bipartite Graphen Vlad Popa 08.06.2010 Inhaltsverzeihnis 1. Flussnetzwerke und Flüsse 1.1 Ford- Fulkerson 1.2 Edmond Karp 1.3 Dinic 2. Schnitte 3. Maximaler Fluss bei minimalen Kosten
MehrBranch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir
Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
MehrVorlesung 4 BETWEENNESS CENTRALITY
Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Baumsuche und Graphensuche Malte Helmert Universität Basel 13. März 2015 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 5. 7.
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/48
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
Mehr4.7 Der Algorithmus von Dinic für maximalen Fluss
4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrEffiziente Algorithmen I
H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 7. Random Walks Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 43 Überblick Überblick Ein randomisierter
MehrErzeugung zufälliger Graphen und Bayes-Netze
Erzeugung zufälliger Graphen und Bayes-Netze Proseminar Algorithmen auf Graphen Georg Lukas, IF2000 2002-07-09 E-Mail: georg@op-co.de Folien: http://op-co.de/bayes/ Gliederung 1. Einleitung 2. einfache
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
MehrLehrerbildungszentrum Informatik an der Universität Göttingen
Lehrerbildungszentrum Informatik an der Universität Göttingen Lehrermaterial: Graphen zum Themenschwerpunkt 2, Zentralabitur Niedersachsen 2010 / 2011 1. Graphen als Modellierungswerkzeug Im ersten Beispiel
MehrPraktikum Planare Graphen
1 Praktikum Planare Graphen Michael Baur, Martin Holzer, Steffen Mecke 10. November 2006 Einleitung Gliederung 2 Grundlagenwissen zu planaren Graphen Themenvorstellung Gruppeneinteilung Planare Graphen
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
Mehr3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrGraphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007
Graphentheorie Rainer Schrader Organisatorisches Zentrum für Angewandte Informatik Köln 23. Oktober 2007 1 / 79 2 / 79 Organisatorisches Organisatorisches Dozent: Prof. Dr. Rainer Schrader Weyertal 80
MehrName: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
Mehr2 Lösungen "Peptide de novo Sequencing"
Lösungen "Peptide de novo Sequencing". Algorithm : PeptideSequencingOnlySux Input: a spectrum M with array of masses M = {m, m,, m n }, Σ, µ : Σ R >0 Output: the peptide string of the spectrum begin peptide
MehrKapitel 6: Graphalgorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
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 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrMathe & Informatik II
Mathe & Informatik II Sommersemester 2015 Christoph Minnameier (Work in Progress) Vorlesungsinhalte Graphentheorie Algorithmen & Datenstrukturen Komplexität & Laufzeit Mathe & Informatik I (Jakob) Potenzen,
MehrÜbungen zu Programmierung I - Blatt 8
Dr. G. Zachmann A. Greß Universität Bonn Institut für Informatik II 1. Dezember 2004 Wintersemester 2004/2005 Übungen zu Programmierung I - Blatt 8 Abgabe am Mittwoch, dem 15.12.2004, 15:00 Uhr per E-Mail
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen
MehrC++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume
Fachbereich IV, Informatik Softwarepraktikum C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume Wintersemester 2004/2005 Dokumentation Algorithmen zur Lösung von MST - Problemen Nicolas
MehrVorlesung 3 MINIMALE SPANNBÄUME
Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei
MehrGrundwissen Informatik Q11/12 Fragenkatalog
12_Inf_GrundwissenInformatik_Opp.doc 1 Grundwissen Informatik Q11/12 Fragenkatalog 11/2 Aufgabengebiet 1: Graphen, Wege durch Graphen: 1. Durch welche Bestandteile wird ein Graph festgelegt? 2. Nenne verschiedene
MehrRechnerische Komplexität
Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit
MehrAlgorithmische Mathematik
Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)
Mehr4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum
4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.
MehrGrundlagen der Programmierung 2. Bäume
Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrFlüsse, Schnitte, bipartite Graphen. Martin Oettinger
Flüsse, Schnitte, bipartite Graphen Martin Oettinger Übersicht Einführung Algorithmen für maximalen Fluss Preflow-Push Ford-Fulkerson Spezialfall: Maximaler Fluss bei minimalen Kosten Reduktionen Bipartites
MehrAbstrakt zum Vortrag im Oberseminar. Graphdatenbanken. Gero Kraus HTWK Leipzig 14. Juli 2015
Abstrakt zum Vortrag im Oberseminar Graphdatenbanken Gero Kraus HTWK Leipzig 14. Juli 2015 1 Motivation Zur Darstellung komplexer Beziehungen bzw. Graphen sind sowohl relationale als auch NoSQL-Datenbanken
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
MehrAlgorithmen und Datenstrukturen Kapitel 10
Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition
MehrAlgorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
MehrÜberblick. Einführung Graphentheorie
Überblick Einführung Graphentheorie Graph-Algorithmen mit Map Kurzeinführung Graphentheorie Algorithmus zum Finden von Cliquen Graphen bestehen aus Knoten (englisch: Node, Vertex, Mehrzahl Vertices) Kanten
MehrAlgorithmus zum Graphen-Matching. und. Anwendung zur inhaltsbasierten Bildersuche
Algorithmus zum Graphen-Matching und Anwendung zur inhaltsbasierten Bildersuche Gliederung 1. Einführung 2. Algorithmus Beschreibung Beispiel Laufzeit 3. Anwendung des Algorithmus Seite 1 von 18 1. Einführung
MehrGeometrie I. Sebastian Redinger Informatik 2 Programmiersysteme Martensstraße Erlangen
Geometrie I Sebastian Redinger 01.07.2015 Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Grundlagen CCW Polygone Picks Theorem Konvexe Hülle - Graham Scan - Jarvis March 2 Gliederung
MehrSS 2013 1.1-1 / 12
AMPELSTEUERUNG EINER KREUZUNG monika.heiner@informatik.tu-cottbus.de SS 2013 1.1-1 / 12 (A) PROBLEM D C E B A Ziel (1) Sicherheit: keine kollidierenden Wege gleichzeitig, z.b. EB und AD Ziel (2) Maximierung:
MehrAlgorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
MehrMethoden der Netzwerkanalyse
Methoden der Netzwerkanalyse Skript zur Vorlesung Ulrik Brandes Sommersemester 005 (letzte Änderung:. August 006) Prolog Methoden der Netzwerkanalyse (Spezialvorlesung Algorithmen) [AKTIV: wo treten Netzwerke
MehrAlgorithmische Methoden der Netzwerkanalyse
Algorithmische Methoden der Netzwerkanalyse Marco Gaertler 9. Dezember, 2008 1/ 15 Abstandszentralitäten 2/ 15 Distanzsummen auf Bäumen Lemma Sei T = (V, E) ein ungerichteter Baum und T s = (V S, E s )
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrHEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen
9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam
MehrScheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms
Scheduling-Theorie Mathematische Modelle und Methoden für deterministische Scheduling-Probleme LiSA - A Library of Scheduling Algorithms Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel &
MehrVorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN
Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN 125 Motivation! Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen! Dünn besetzte Graphen und Matrizen bilden keine
MehrBäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1
Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
MehrReihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrDatenbanken und Informationssysteme
Datenbanken und Informationssysteme Serialisierbarkeit Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Serialisierbarkeit 2-Phasen-Sperrprotokoll (2PL) Verklemmungen Modell
MehrProgrammieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm
Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende
Mehr2. Lernen von Entscheidungsbäumen
2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse
MehrAlgorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
MehrAlgorithmen zur Berechnung von Matchings
Algorithmen zur Berechnung von Matchings Berthold Vöcking 1 Einleitung Matchingprobleme sind Zuordnungsprobleme. Es geht darum z.b. Studierenden Plätze in Seminaren zuzuordnen, Bewerber auf freie Stellen
MehrKlassische Themen der Computerwissenschaft Constraint Programming: Exercises. Gruppe: 100. Inhaltsverzeichnis
Klassische Themen der Computerwissenschaft Constraint Programming: Exercises Gruppe: 100 Inhaltsverzeichnis 1 Exercise 1 1 2 Exercise 2 2 2.1 Backtracking........................... 2 2.2 Forward checking.........................
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
Mehr