Graphen: Datenstrukturen und Algorithmen
|
|
|
- Ewald Rothbauer
- vor 9 Jahren
- Abrufe
Transkript
1 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. Wir stellen eine Kante als die Menge {u, v} ihrer Endpunkte u und v dar. G ist gerichtet, wenn jede Kante einen Start- und Zielknoten besitzt. Wir stellen eine Kante als geordnetes Paar (u, v) ihres Startknotens u und ihres Zielknotens v dar. Was wir schon wissen 1 / 45
2 Anwendungen Warum Graphen? Graphen modellieren das World Wide Web: Die Knoten entsprechen Webseiten, die (gerichteten) Kanten entsprechen Hyperlinks. Rechnernetzwerke: Die Knoten entsprechen Rechnern, die (gerichteten und/oder ungerichteten) Kanten entsprechen Direktverbindungen zwischen Rechnern. Das Schienennetz der Deutschen Bahn: Die Knoten entsprechen Bahnhöfen, die (ungerichteten) Kanten entsprechen Direktverbindungen zwischen Bahnhöfen. Schaltungen: die Knoten entsprechen Gattern, die (gerichteten) Kanten entsprechen Leiterbahnen zwischen Gattern. Was wir schon wissen 2 / 45
3 Datenstrukturen Von jetzt an: V = {1,..., n}. In der Adjazenzlisten-Darstellung wird G durch ein Array A G von Listen dargestellt: Die Liste A G [v] führt alle Nachbarn von v auf, bzw. alle Nachfolger von v für gerichtete Graphen. Maßgeschneidert für die Operationen Bestimme alle Nachfolger des Knotens v. Diese Operation ist zentral für viele Algorithmen wie Tiefensuche und Breitensuche, Dijkstra s Algorithmus sowie die Algorithmen von Prim und Kruskal. Der benötigte Speicherplatz passt sich dynamisch der Größe des Graphen an. Was wir schon wissen Adjazenzlisten 3 / 45
4 Tiefensuche Was wir schon wissen Tiefensuche 4 / 45
5 Tiefensuche: Die globale Struktur Die Adjazenzliste besteht aus einem Array A_Liste von Zeigern auf die Struktur Knoten mit struct Knoten { int name; Knoten *next; } void Tiefensuche() { for (int k = 0; k < n; k++) besucht[k] = 0; for (k = 0; k < n; k++) if (! besucht[k]) tsuche(k); } Jeder Knoten wird besucht! Was wir schon wissen Tiefensuche 5 / 45
6 Tiefensuche: Die Rekursion void tsuche(int v) { Knoten *p ; besucht[v] = 1; for (p = A_Liste [v]; p!=0; p = p->next) if (!besucht [p->name]) tsuche(p->name); } - Die sofortige Markierung von v verhindert einen weiteren Besuch. - Alle nicht markierten Nachbarn werden besucht. Was wir schon wissen Tiefensuche 6 / 45
7 Tiefensuche für ungerichtete Graphen Sei G = (V, E) ein ungerichteter Graph. W G sei der Wald der Tiefensuche für G. (a) Wenn {u, v} E eine Kante ist und wenn tsuche(u) vor tsuche(v) aufgerufen wird, dann ist v ein Nachfahre von u in W G. Die Bäume von W G entsprechen genau den Zusammenhangskomponenten von G. (b) Tiefensuche besucht jeden Knoten von V genau einmal. Die Laufzeit von Tiefensuche ist linear, also durch beschränkt. O( V + E ) (c) G besitzt nur Baum- und Rückwärtskanten. Was wir schon wissen Tiefensuche 7 / 45
8 Tiefensuche für ungerichtete Graphen: Anwendungen Für einen ungerichteten Graphen G = (V, E) überprüfe in Zeit O( V + E ), ob G ein Baum ist, G zusammenhängend ist oder ob G bipartit ist. Warum kann man mit Tiefensuche schnell einen Weg aus einem ungerichteten Labyrinth finden? Was wir schon wissen Tiefensuche 8 / 45
9 Tiefensuche für gerichtete Graphen Sei G = (V, E) ein gerichteter Graph. (a) Für jeden Knoten v in V gilt: tsuche(v) wird genau die Knoten besuchen, die auf einem unmarkierten Weg mit Anfangsknoten v liegen. Ein Weg ist unmarkiert, wenn alle Knoten vor Beginn von tsuche(v) unmarkiert sind. (b) Die Laufzeit von Tiefensuche() ist linear, also durch O( V + E ) beschränkt. (c) G besitzt nur Baumkanten, Rückwärts- und Vorwärtskanten sowie Rechts-nach-Links Querkanten, also Querkanten die von einem später zu einem früher besuchten Knoten führen. Was wir schon wissen Tiefensuche 9 / 45
10 Tiefensuche für gerichtete Graphen: Anwendungen Für einen gerichteten Graphen G = (V, E) überprüfe in Zeit O( V + E ), ob es einen Weg von Knoten u nach Knoten v gibt: Das Labyrinth Problem für gerichtete Graphen, G kreisfrei ist oder ob G stark zusammenhängend ist. G ist stark zusammenhängend, wenn es für je zwei Knoten stets einen Weg vom ersten zum zweiten Knoten gibt. Was wir schon wissen Tiefensuche 10 / 45
11 Breitensuche Was wir schon wissen Breitensuche 11 / 45
12 Breitensuche void Breitensuche(int v) { Knoten *p; int w; queue q; q.enqueue(v); for (int k =0; k < n ; k++) besucht[k] = 0; besucht[v] = 1; /* v wird in die Schlange eingefügt und markiert. */ while (!q.empty ( )) { w = q. dequeue ( ); for (p = A _List[w]; p!= 0; p = p->next) if (!besucht[p->name]) { q.enque(p->name); besucht[p->name] = 1; }}} - Wenn ein Knoten u in die Schlange gestopft wird, dann wird u sofort markiert: u wird nur einmal angefasst. - Jeder von v aus erreichbare Knoten wird besucht. Was wir schon wissen Breitensuche 12 / 45
13 Breitensuche: Die Eigenschaften Sei G = (V, E) ein gerichteter oder ungerichteter Graph und v sein ein Knoten von G. (a) Breitensuche(v) besucht jeden von v aus erreichbaren Knoten genau einmal und sonst keine anderen Knoten. Breitensuche(v) erzeugt einen Baum T (v) kürzester Wege: Wenn w von v aus erreichbar ist, dann ist der Weg in T (v), von der Wurzel v zum Knoten w, ein kürzester Weg. (b) Breitensuche(v) besucht jeden von v aus erreichbaren Knoten genau einmal. Die Laufzeit ist linear, also proportional in der Anzahl von v erreichbaren Knoten und der Gesamtzahl ihrer Kanten. Was wir schon wissen Breitensuche 13 / 45
14 Dijkstra s Algorithmus Kürzeste gewichtete Wege 14 / 45
15 Kürzeste gewichtete Wege Für einen gerichteten Graphen G = (V, E), einen Knoten s V und Kantenlängen länge : E R 0, bestimme kürzeste Wege von s zu allen anderen Knoten in V. (Web) Die Länge des Weges p = (v 0, v 1,..., v m ) ist m länge(p) = länge (v i 1, v i ). i=1 Breitensuche funktioniert nur, falls länge(e) = 1 für alle Kanten. Warum nicht einen kürzesten Weg von s zu einem Zielknoten t suchen? Alle bekannten Algorithmen finden gleichzeitig kürzeste Wege zu allen Knoten. Kürzeste gewichtete Wege 15 / 45
16 S-Wege Kürzeste gewichtete Wege S-Wege 16 / 45
17 Dijkstra s Algorithmus: Die Idee Sei S V eine Teilmenge von V mit s S. Ein S-Weg startet in s und durchläuft mit Ausnahme des letzten Knotens nur Knoten in S. Angenommen, für jeden Knoten w V \ S gilt die Invariante distanz(w) = Länge eines kürzesten S-Weges von s nach w. Intuition: Wenn der Knoten w V \ S einen minimalen Distanzwert unter allen Knoten in V \ S besitzt, dann ist ein kürzester S-Weg nach w auch ein kürzester Weg nach w. Kürzeste gewichtete Wege S-Wege 17 / 45
18 Warum ist die Idee richtig? Die Invariante gelte. Wenn distanz[w] = min u V \S distanz[u] für einen Knoten w V \ S ist, dann folgt distanz [w] = Länge eines kürzesten Weges von s nach w. Angenommen, der Weg p = (s, v 1,..., v i, v i+1,..., w) ist kürzer als distanz[w]. Sei vi+1 der erste Knoten in p, der nicht zu S gehört. (s, v 1,..., v i, v i+1 ) ist ein S-Weg nach v i+1 und distanz[v i+1 ] länge(s, v 1,..., v i, v i+1 ) länge(p) < distanz[w] folgt aus der Invariante, da Kantenlängen nicht-negativ sind. Aber distanz[w] distanz[v i+1 ], denn w hatte ja den kleinsten Distanz-Wert. Widerspruch. Kürzeste gewichtete Wege S-Wege 18 / 45
19 Wie kann die Invariante aufrecht erhalten werden? - Der Knoten w habe einen kleinsten distanz-wert. - Angenommen w wird zur Menge S hinzugefügt. Wie sieht ein kürzester S-Weg P für u V \ S aus? Wenn Knoten w nicht von P durchlaufen wird, dann ist die Länge eines kürzesten S-Wegs unverändert. Sonst ist P = (s,.., w, v,.., u) ein kürzester S-Weg. Wenn v u: v wurde vor w in S eingefügt. Ein kürzester S-Weg p(v) von s nach v durchläuft w deshalb nicht. Ersetze das Anfangsstück (s,..., w, v) von P durch p(v): Der neue S-Weg nach u ist mindestens so kurz wie P, enthält aber w nicht. Die neuen kürzesten S-Wege sind von der Form (s,..., w, u). Kürzeste gewichtete Wege S-Wege 19 / 45
20 Dijkstra s Algorithmus (1) Setze S = {s} und { länge(s, v) wenn (s, v) E, distanz[v] = sonst. (2) Solange S V wiederhole (2a) wähle einen Knoten w V \ S mit kleinstem Distanz-Wert. (2b) Füge w in S ein. (2c) Berechne den neuen Distanz-Wert für jeden Nachfolger u V \ S von w: c = distanz[w] + länge(w, u); distanz[u] = (distanz[u] > c)? c : distanz[u]; // Akualisiere distanz[u], wenn ein S-Weg über w nach u // kürzer als der bisher kürzeste S-Weg nach u ist. (Animation) Kürzeste gewichtete Wege Dijkstra s Algorithmus 20 / 45
21 Und wo sind unsere kürzesten Wege? Wenn wir gerade den Knoten w in die Menge S aufgenommen haben und distanz[u] verringert sich, dann... Vermerke, dass gegenwärtig ein kürzester S-Weg nach u den Knoten w besucht und dann zu u springt. Und wie sollen wir das vermerken? Benutze einen Baum B, um kürzeste S-Wege zu speichern. Implementiere B als Vater-Array: Setze Vater[u] = w genau dann, wenn sich der distanz-wert von u verringert, wenn w zu S hinzugefügt wird. Die Laufzeit steigt nur unmerklich an! Kürzeste gewichtete Wege Dijkstra s Algorithmus 21 / 45
22 Ein Beispiel Das Distanzarray: 5 6 V 0 V 2 V V 1 V 3 V 5 V 6 11 V 1 V 2 V 3 V 4 V 5 V 6 S = {V 0 } 3 5 S = {V 0, V 1 } S = {V 0, V 1, V 2 } S = {V 0, V 1, V 2, V 3 } S = {V 0, V 1, V 2, V 3, V 4 } S = {V 0, V 1, V 2, V 3, V 4, V 5 } 13 Kürzeste gewichtete Wege Dijkstra s Algorithmus 22 / 45
23 Dijkstra s Algorithmus: Datenstrukturen und Laufzeit Wir benutzen einen Min-Heap, der die Knoten in V \ S nach ihrem distanz-wert verwaltet. Die Laufzeit: V 1 mal wird nach einem Knoten in V \ S mit kleinstem distanz-wert gesucht. Es gibt höchstens V 1 Delete_Min Operationen. Eine Decrease_Key Operation kann nur durch eine Kante (w, u) hervorgerufen werden. Also gibt es höchstens E Decrease_Key Operationen. Die Laufzeit ist durch O(( V + E ) log 2 V ) beschränkt, denn jede Heap-Operation läuft in Zeit O(log 2 V ). Kürzeste gewichtete Wege Dijkstra s Algorithmus 23 / 45
24 Dijkstra s Algorithmus: Zusammenfassung Die Laufzeit von Dijkstra s Algorithmus Dikstra s Algorithmus löst das Single-Source-Shortest-Path Problem für gerichtete Graphen mit n Knoten, e Kanten und nicht-negativen Gewichten in Zeit O((n + e) log 2 n). Was passiert, wenn Kantengewichte negativ sind? Wenn alle Kantengewichte mit 1 übereinstimmen, dann sind kürzeste, mit 1 gewichtete Wege längste (ungewichtete) Wege. Kürzeste (ungewichtete) Wege können wir blitzschnell mit Breitensuche bestimmen, längste (ungewichtete) Wege lassen sich hingegen nicht effizient bestimmen! Warum? Das Problem, längste Wege zu bestimmen, führt auf ein NP-vollständiges Problem. Kürzeste gewichtete Wege Zusammenfassung 24 / 45
25 Minimale Spannbäume Minimale Spannbäume 25 / 45
26 Minimale Spannbäume Sei G = (V, E) ein ungerichteter, zusammenhängender Graph. Ein Baum T = (V, E ) heißt ein Spannbaum für G, falls V = V und E E. Spannbäume sind die kleinsten zusammenhängenden Teilgraphen, die alle Knoten von G beinhalten. Die Funktion länge : E R weist Kanten diesmal beliebige, auch negative Längen zu. Für einen Spannbaum T = (V, E ) definieren wir länge(t ) = e E länge(e) als die Länge von T. Berechne einen minimalen Spannbaum T, also einen Spannbaum minimaler Länge unter allen Spannbäumen von G. Minimale Spannbäume 26 / 45
27 Minimale Spannbäume: Anwendungen (1/2) Ein Kommunikationsnetzwerk zwischen einer Menge von Zentralen ist zu errichten. Für die Verbindungen zwischen den Zentralen müssen Kommunikationsleitungen gekauft werden, deren Preis von der Distanz zwischen den zu verbindenden Zentralen abhängt. Einzige Bedingung: Je zwei Zentralen müssen indirekt (über andere Zentralen) miteinander kommunizieren können. Wie sieht ein billigstes Kommunikationsnetzwerk aus? Repräsentiere jede Zentrale durch einen eigenen Knoten. Zwischen je zwei Knoten setzen wir eine Kante ein und markieren die Kante mit der Distanz der entsprechenden Zentralen. Wenn G der resultierende Graph ist, dann müssen wir einen billigsten zusammenhängenden Teilgraphen, also einen minimalen Spannbaum für G suchen. (Web) Minimale Spannbäume Anwendungen 27 / 45
28 Minimale Spannbäume: Anwendungen (2/2) Das Traveling Salesman Problem (TSP): - Ein Handlungsreisender muss, von seinem Ausgangspunkt aus, eine Menge von Städten in einer Rundreise besuchen. - Das Ziel: Bestimme eine Rundreise kürzester Länge. (Web) Die Heuristik des minimalen Spannbaums: Jeder Stadt wird ein Knoten zugeordnet. Für jedes Paar (s 1, s 2 ) von Städten wird eine Kante eingesetzt und mit der Distanz zwischen s 1 und s 2 beschriftet. Bestimme einen minimalen Spannbaum T und durchlaufe T in Präorder-Reihenfolge. Wie lang ist die erhaltene Rundreise? Minimale Spannbäume Anwendungen 28 / 45
29 Eine Rundreise in Präorder-Reihenfolge Wie lang ist unsere Rundreise höchstens? 4 5 d 1,2 + (d 2,1 + d 1,3 ) + d 3,4 + (d 4,3 + d 3,5 ) + (d 5,3 + d 3,1 ). Alle Kanten des Spannbaums treten genau zweimal auf. Es ist Länge(T ) minimale Länge einer Rundreise 2 Länge(T ) Unsere Rundreise ist höchstens doppelt so lang wie eine kürzeste Rundreise! Minimale Spannbäume Anwendungen 29 / 45
30 Kreuzende Kanten Minimale Spannbäume Kreuzende Kanten 30 / 45
31 Kreuzende Kanten Sei G = (V, E) ein ungerichteter, zusammenhängender Graph. Die Kante e = {u, v} kreuzt die Knotenmenge S V, wenn genau ein Endpunkt von e in S liegt. Kürzeste kreuzende Kanten Der Wald W = (V, E ) sei in einem minimalen Spannbaum T für G enthalten. Keine Kante von W möge die Menge S kreuzen. Wenn e eine kürzeste S-kreuzende Kante ist, dann ist auch W = (V, E {e}) in einem minimalen Spannbaum für G enthalten. Warum? Wenn T die Kante e enthält, dann ist W weiterhin in T enthalten. Ansonsten: Füge e zu T hinzu. Ein Kreis wird geschlossen, der mindestens eine weitere S-kreuzende Kante e besitzt. Länge(e) Länge(e ). Ersetze e in T durch e und wir erhalten einen Spannbaum, der W enthält und nicht länger als T ist. Minimale Spannbäume Kreuzende Kanten 31 / 45
32 Minimale Spannbäume: Die Idee Baue einen minimalen Spannbaum, indem kürzeste kreuzende Kanten für geeignete Knotenmengen S V eingesetzt werden. Welche Knotenmengen S sind geeignet? Wir verfolgen zwei Ansätze. Der Algorithmus von Prim lässt einen einzigen Baum Kante für Kante wachsen. Wenn der bisherige Baum die Knotenmenge S hat, dann wird eine kürzeste S-kreuzende Kante hinzugefügt. Der Algorithmus von Kruskal beginnt mit einem Wald aus Einzelknoten. Die Kanten werden nach aufsteigender Länge sortiert und in dieser Reihenfolge abgearbeitet. Füge Kante e = {u, v} in den Wald ein, wenn kein Kreis geschlossen wird. e kreuzt z.b. die Knotenmenge des Baums, der u enthält. (Web) Minimale Spannbäume Kreuzende Kanten 32 / 45
33 Der Algorithmus von Prim Minimale Spannbäume Prim 33 / 45
34 Der Algorithmus von Prim (1) Setze S = {0} und E =. // Wir beginnen mit einem Baum, der nur aus dem Knoten 0 // besteht. (2) Solange S V, wiederhole: (2a) Bestimme eine kürzeste S-kreuzende Kante e = {u, v} E mit u S and v V \ S. Es gilt also länge(e) = min{länge(e ) e E und e kreuzt S}. (2b) Setze S = S {v} und E = E {e}. // Der bisherige Baum wird um die kürzeste kreuzende Kante // erweitert. (Animation) Minimale Spannbäume Prim 34 / 45
35 Der Algorithmus von Prim: Die Datenstruktur Angenommen, wir kennen für jeden Knoten v V \ S die Länge e(v) einer kürzesten kreuzende Kante mit Endpunkt v. Benutze einen Min-Heap, um die Knoten v V \ S gemäß ihren Prioritäten e(v) zu verwalten: Berechne eine kürzeste kreuzende Kante mit Hilfe der Deletemin-Operation. Wenn jetzt w V \ S in die Menge S eingefügt wird, können nur die Nachbarn w von w eine neue kürzeste kreuzende Kante, nämlich die Kante {w, w }, erhalten. Für jeden Nachbarn w von w setze deshalb e(w ) = ( e(w ) > länge ({w, w }))? länge({w, w }) : e(w ); wobei anfänglich e(w) = { länge({0, w}) {0, w} ist eine Kante, sonst. Minimale Spannbäume Prim 35 / 45
36 Der Algorithmus von Prim: Zusammenfassung Ein Spannbaum für einen Graphen mit n Knoten besteht aus n 1 Kanten. Insgesamt sind somit genau n 1 Deletemin-Operationen notwendig. Aktualisierungen der Kantenlängen e(v) werden durch die mit v inzidenten Kanten erzwungen. Also gibt es höchstens e = E Aktualisierungen. Jede Heap-Operation, ob ein Deletemin oder eine Aktualisierung, läuft in Zeit O(log 2 n). Der Algorithmus von Prim: Die Laufzeit Der Algorithmus von Prim bestimmt einen minimalen Spannbaum für einen Graphen mit n Knoten und e Kanten in Zeit O((n + e) log 2 n). Minimale Spannbäume Prim 36 / 45
37 Der Algorithmus von Prim: Ein Beispiel Das Array e für den Startknoten g: f 7 8 a e 6 1 g b d 9 10 a b c d e f S = {g} S = {e, g} S = {d, e, g} S = {b, d, e, g} S = {a, b, d, e, g} 9 7 S = {a, b, d, e, f, g} 9 Minimale Spannbäume Prim 37 / 45 c
38 Der Algorithmus von Kruskal Minimale Spannbäume Kruskal 38 / 45
39 Der Algorithmus von Kruskal (1) Sortiere die Kanten gemäß aufsteigender Länge. Sei W = (V, E ) der leere Wald, also E =. // Kruskal beginnt mit dem leeren Wald W, der nur aus // Einzelknoten besteht. (2) Solange W kein Spannbaum ist, wiederhole (2a) Nimm die gegenwärtige kürzeste Kante e und entferne sie aus der sortierten Folge. (2b) Verwerfe e, wenn e einen Kreis in W schließt. // Die Kante e verbindet zwei Knoten desselben Baums von W. (2c) Ansonsten akzeptiere e und setze E = E {e}. // Die Kante e verbindet zwei Bäume T 1, T 2 von W. // Sie wird zu W hinzugefügt. Wenn S die Knotenmenge von T 1 ist, // dann ist e eine kürzeste S-kreuzende Kante. Minimale Spannbäume Kruskal 39 / 45
40 Der Algorithmus von Kruskal: Ein Beispiel f 7 8 a e Die Wälder in Kruskal s Algorithmus: - Zu Anfang: {a}, {b}, {c}, {d}, {e}, {f }, {g}. - {a, b} mit dem neuen Wald {a, b}, {c}, {d}, {e}, {f }, {g} - {e, g} mit dem neuen Wald {a, b}, {c}, {d}, {e, g}, {f } - {d, g} mit dem neuen Wald {a, b}, {c}, {d, e, g}, {f } - {b, g} mit dem neuen Wald {a, b, d, e, g}, {c}, {f } - {a, f } mit dem neuen Wald {a, b, d, e, f, g}, {c} - {b, c} mit dem neuen Wald {a, b, c, d, e, f, g} g 4 Minimale Spannbäume Kruskal 40 / 45 5 b d 9 10 c
41 Der Algorithmus von Kruskal: Die Datenstruktur - Wir überprüfen, ob die Kante e = {u, v} einen Kreis schließt. - Deshalb erfinden wir die union-find Datenstruktur, die die Operationen union(i,j) und find(u) unterstützt: find(u) bestimmt die Wurzel des Baums, der u als Knoten besitzt. union(i,j) vereinigt die Knotenmenge des Baums mit Wurzel i mit der Knotenmenge des Baums mit Wurzel j. e = {u, v} schließt genau dann keinen Kreis, wenn find(u) find(v). Ist dies der Fall, dann wende die union-operation an: Vereinige die Knotenmenge des Baums von u mit der Knotenmenge des Baums von v. Minimale Spannbäume Kruskal 41 / 45
42 Die Union-Find Datenstruktur (1/2) Die Grundidee: Implementiere die union-operation durch ein Anhängen der Wurzel des einen Baums unter die Wurzel des anderen Baums und die find-operation durch ein Hochklettern im Baum. Aber wir können doch nicht einfach einen Baum an einen anderen anhängen: Der entstehende Wald entspricht nicht mehr dem von Kruskal berechneten Baum! Wir benötigen zwei Datenstrukturen: Zuerst stellen wir genau den von Kruskal berechneten Baum dar. Die zweite Datenstruktur ist für die Unterstützung der union- und find-operationen zuständig: Nur die Knotenmengen der einzelnen Bäume werden dargestellt. Minimale Spannbäume Kruskal 42 / 45
43 Die Union-Find Datenstruktur (2/2) - Wir stellen die Knotenmengen der einzelnen Bäume mit einem Vater-Array dar: Anfänglich ist Vater[u] = u für alle Knoten u V. - Generell: u ist genau dann eine Wurzel, wenn Vater[u] = u. Einen find-schritt führen wir aus, indem wir den Baum mit Hilfe des Vater-Arrays hochklettern bis die Wurzel gefunden ist. Die Zeit ist höchstens proportional zur Tiefe des Baums. Wie garantieren wir, dass die Bäume nicht zu tief werden? Hänge in einem Union-Schritt stets die Wurzel des kleineren Baumes unter die Wurzel des größeren Baumes. Minimale Spannbäume Kruskal 43 / 45
44 Die Analyse eines Union-Schritts Wir beobachten einen beliebigen Knoten v, während Kruskal einen minimalen Spannbaum aus einem Wald von Einzelbäumen baut. v beginnt mit Tiefe 0, denn v ist Wurzel seines eigenen Einzelbäumchens. Seine Tiefe vergrößert sich nur dann um 1, wenn v dem kleineren Baum in einer union-operation angehört. Also: die Tiefe von v vergrößert sich nur dann um 1, wenn sich der Baum von v in der Größe mindestens verdoppelt. Das Fazit - Die Tiefe aller Bäume ist durch log 2 ( V ) beschränkt. - Eine union-operation benötigt nur konstante Zeit, während ein find-schritt höchstens logarithmische Zeit benötigt. Minimale Spannbäume Kruskal 44 / 45
45 Der Algorithmus von Kruskal: Zusammenfassung Es gibt höchstens zwei find-operationen und eine union-operation pro Kante, nämlich um herauszufinden, ob ein Kreis geschlossen wird (find), und um Bäume zu vereinigen (union), wenn kein Kreis geschlossen wird. Der Algorithmus von Kruskal: Die Laufzeit - Es gibt höchstens E viele find-operationen und n 1 union-operationen. - Der Algorithmus von Kruskal bestimmt einen minimalen Spannbaum für einen Graphen mit n Knoten und e Kanten in Zeit O(n + e log 2 n). Minimale Spannbäume Kruskal 45 / 45
Graphalgorithmen. 9. November / 54
Graphalgorithmen 9. November 2017 1 / 54 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
1 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
Anmerkungen 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
3.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
Wie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Algorithmen für Graphen Fragestellungen: Suche
Konzepte 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
Effiziente 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
Breiten- 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
4 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
Datenstrukturen & 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
WS 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
Das Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
Primzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
Guten 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
Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer
Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen
Kü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
Kapitel 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
S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
Vorlesung Datenstrukturen
Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:
OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland
OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben
Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm [email protected]
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm [email protected] Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
1. 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
Informatik 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
Statistische Untersuchungen zu endlichen Funktionsgraphen
C# Projekt 1 Name: Statistische Untersuchungen zu endlichen Funktionsgraphen Aufgabe: Basierend auf dem Abschnitt 2.1.6. Random mappings, Kap.2, S 54-55, in [1] sollen zunächst für eine beliebige Funktion
Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
Zwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege
Lange Nacht der Wissenschaft Ein Klassiker Die Mathematik der Kürzesten Wege 09.06.2007 [email protected] Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick
8 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
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Algorithmische 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)
A Lösungen zu Einführungsaufgaben zu QueueTraffic
A Lösungen zu Einführungsaufgaben zu QueueTraffic 1. Selber Phasen einstellen a) Wo im Alltag: Baustelle, vor einem Zebrastreifen, Unfall... 2. Ankunftsrate und Verteilungen a) poissonverteilt: b) konstant:
EndTermTest PROGALGO WS1516 A
EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von
AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
Babeș-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
Datenaufbereitung in SPSS. Daten zusammenfügen
Daten zusammenfügen I. Fälle hinzufügen Diese Schritte müssen Sie unternehmen, wenn die Daten in unterschiedlichen Dateien sind; wenn also die Daten von unterschiedlichen Personen in unterschiedlichen
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden [email protected] WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
Algorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
Statuten in leichter Sprache
Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch
Bäume und Wälder. Bäume und Wälder 1 / 37
Bäume und Wälder Bäume und Wälder 1 / 37 Bäume Ein (ungerichteter) Baum ist ein ungerichteter Graph G = (V, E), der zusammenhängend ist und keine einfachen Kreise enthält. Bäume und Wälder 2 / 37 Bäume
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Traversierung Durchlaufen eines Graphen, bei
AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des
Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1
Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen
Erstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
Gliederung. 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
Kapitel 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:
Überblick. Lineares Suchen
Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität
Kompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
Algorithmentheorie. 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
Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])
3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere
Grundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
Repetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
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?
Datenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
Definition und Begriffe
Merkblatt: Das Dreieck Definition und Begriffe Das Dreieck ist ein Vieleck. In der Ebene ist es die einfachste Figur, die von geraden Linien begrenzt wird. Ecken: Jedes Dreieck hat drei Ecken, die meist
Download. Mathematik üben Klasse 8 Funktionen. Differenzierte Materialien für das ganze Schuljahr. Jens Conrad, Hardy Seifert
Download Jens Conrad, Hard Seifert Mathematik üben Klasse 8 Funktionen Differenzierte Materialien für das ganze Schuljahr Downloadauszug aus dem Originaltitel: Mathematik üben Klasse 8 Funktionen Differenzierte
Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1
B 1.0 B 1.1 L: Wir wissen von, dass sie den Scheitel hat und durch den Punkt läuft. Was nichts bringt, ist beide Punkte in die allgemeine Parabelgleichung einzusetzen und das Gleichungssystem zu lösen,
Ein neues System für die Allokation von Spenderlungen. LAS Information für Patienten in Deutschland
Ein neues System für die Allokation von Spenderlungen LAS Information für Patienten in Deutschland Ein neues System für die Allokation von Spenderlungen Aufgrund des immensen Mangels an Spenderorganen
Kapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
Beispiel(unten ist der Spielfeldrand):
Anleitung Side by Side ist ein Puzzle mit einfachen Regeln, das in einem 6x6 (oder größerem) Gitter gespielt wird. Ziel des Spieles ist es, die leeren Kästchen mit den Zahlen 1, 2, 3, 4 oder einem X zu
Algorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich
Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Mitgliederbereich (Version 1.0) Bitte loggen Sie sich in den Mitgliederbereich mit den Ihnen bekannten Zugangsdaten
Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
Die Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
Algorithmen 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
1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.
Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,
Zeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Quadratische Gleichungen
Quadratische Gleichungen Aufgabe: Versuche eine Lösung zu den folgenden Zahlenrätseln zu finden:.) Verdoppelt man das Quadrat einer Zahl und addiert, so erhält man 00..) Addiert man zum Quadrat einer Zahl
7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
Benutzerhandbuch - Elterliche Kontrolle
Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 13 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
5.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!
Fully dynamic algorithms for the single source shortest path problem.
Fully dynamic algorithms for the single source shortest path problem. Michael Baur Wintersemester 2001/2002 Zusammenfassung Im folgenden Paper werde ich Algorithmen für das dynamische Kürzeste-Wege-Problem
3.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)
In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.
Binäre Suchbäume Tries (Folie 182, Seite 58 im Skript) In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. In Tries entspricht die ite Verzweigung dem iten Zeichen des Schlüssels.
Wie löst man Mathematikaufgaben?
Wie löst man Mathematikaufgaben? Manfred Dobrowolski Universität Würzburg Wie löst man Mathematikaufgaben? 1 Das Schubfachprinzip 2 Das Invarianzprinzip 3 Das Extremalprinzip Das Schubfachprinzip Verteilt
AutoTexte und AutoKorrektur unter Outlook verwenden
AutoTexte und AutoKorrektur unter Outlook verwenden Die Hilfsmittel "AutoKorrektur" und "AutoTexte", die schon unter Microsoft Word das Arbeiten erleichtern, sind natürlich auch unter Outlook verfügbar.
Lichtbrechung an Linsen
Sammellinsen Lichtbrechung an Linsen Fällt ein paralleles Lichtbündel auf eine Sammellinse, so werden die Lichtstrahlen so gebrochen, dass sie durch einen Brennpunkt der Linse verlaufen. Der Abstand zwischen
15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)
Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009) Probleme unseres Alltags E-Mails lesen: Niemand außer mir soll meine Mails lesen! Geld abheben mit der EC-Karte: Niemand außer mir soll
Datenbanken Microsoft Access 2010
Datenbanken Microsoft Access 2010 Abfragen Mithilfe von Abfragen kann ich bestimmte Informationen aus einer/mehrerer Tabellen auswählen und nur diese anzeigen lassen die Daten einer/mehrerer Tabellen sortieren
Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.
Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten
CTI SYSTEMS S.A. CTI SYSTEMS S.A. 12, op der Sang. Fax: +352/2685-3000 L- 9779 Lentzweiler. Email: [email protected] G.D.
Z.I. Eselborn - Lentzweiler Phone: +352/2685-2000 12, op der Sang Fax: +352/2685-3000 L- 9779 Lentzweiler Email: [email protected] G.D. Luxembourg URL: www.ctisystems.com Benutzung von Höhensicherungsgeräten
Bereich METIS (Texte im Internet) Zählmarkenrecherche
Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke
Informatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: [email protected] Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben
Kurzanleitung für Verkäufer
Kurzanleitung für Verkäufer Registrieren auf www.easybasar.de Einloggen Am Basar anmelden Artikel erfassen Artikel abgeben Artikel abholen Registrieren bei www.easybasar.de Sie sollten sich bereits vor
Erstellen der Barcode-Etiketten:
Erstellen der Barcode-Etiketten: 1.) Zuerst muss die Schriftart Code-39-Logitogo installiert werden! Das ist eine einmalige Sache und muss nicht zu jeder Börse gemacht werden! Dazu speichert man zunächst
Einführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: [email protected] Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
Anleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
6.2 Scan-Konvertierung (Scan Conversion)
6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
