Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Größe: px
Ab Seite anzeigen:

Download "Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time"

Transkript

1 Universität Konstanz Mathematisch-naturwissenschaftliche Sektion Fachbereich Mathematik und Statistik Wintersemester 2001/02 Mikkel Thorup: Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time Seminar: Leiterin: Betreuung: Effiziente Algorithmen Prof. Dr. Dorothea Wagner Frank Schulz Referentin: Annemarie Kastelsky Anschrift: Markgrafenstraße Konstanz Fächer: Französisch, Mathematik Fachsemester: 8

2 1 Einleitung Das Single-Source Shortest Paths Problem (SSSP-Problem) ist eine klassische Problemstellung. Gegeben ist ein Graph mit ganzzahligen positiven Kantengewichten und einem ausgezeichneten Knoten s. Gesucht werden kürzeste Wege von s zu allen anderen Knoten im Graphen. Im Folgenden ist dieser Graph zusätzlich ungerichtet. Diese Problemstellung wurde durch den Algorithmus von Dijkstra (1959) gelöst. Dieser war Grundlage für die weitere Entwicklung von Algorithmen zu diesem Problem. Da einige Elemente dieses Algorithmus auch in den Linearzeitalgorithmus von Thorup eingehen, wird zunächst der Algorithmus von Dijkstra kurz vorgestellt. Anschließend werden zwei Etappen auf dem Weg zu Thorups Linearzeitalgorithmus nachgezeichnet, die die andere Vorgehensweise seines Algorithmus zeigen. Der erste Schritt ist die Entwicklung des Algorithmus A, der das SSSP- Problem löst, wenn sich der Graph so in Teilmengen aufteilen lässt, dass alle Kanten zwischen den Teilmengen mindestens Gewicht 2 α haben. Im zweiten Schritt wird diese Einschränkung durch die Einführung einer Komponentenhierarchie wieder verallgemeinert. Diese führt zu den Algorithmen B und C, in denen minimale Komponenten besucht werden. Schließlich wird kurz aufgezeigt, wie dieser Algorithmus effizienter gestaltet werden kann, so dass man eine lineare Laufzeit erhält. Abschließend werden die Ergebnisse von Thorup vorgestellt. 1

3 2 Grundlagen und der Algorithmus von Dijkstra 2.1 Grundlagen Definitionen Sei G = (V, E), V = n, E = m ein zusammenhängender ungerichteter Graph mit einer Kantengewichtsfunktion l : E N und einem ausgezeichneten Knoten s V. Falls (v, w) E setzt man l(v, w) :=. d(v) ist die Distanz (= kürzester Weg) von s nach v. D(v) ist eine Weglänge von s nach v, also gilt immer D(v) d(v). S Teilmenge, S V, so dass v S : D(v) = d(v) v S : D(v) = min u S {d(u) + l(u, v)} Knoten besuchen Man kann einen Knoten v S nur besuchen, wenn D(v) = d(v) gilt. v wird zur Menge S dazugenommen und für die Nachbarknoten w von v wird D(w) neu bestimmt: Für alle (v, w) E, w S : D(w) = min{d(w), D(v) + l(v, w)} Folgerung Um Knoten besuchen zu können, ist es also nötig zu wissen, für welche v D(v) = d(v) gilt. Lemma 1 Wenn für ein v V \ S D(v) minimal ist, dann gilt D(v) = d(v). Beweis: Sei u der erste Knoten außerhalb von S auf einem kürzesten Weg von s nach v. Dann gilt D(u) = d(u) nach Definition von S. D(v) d(v) d(u) = D(u) D(v), da D(v) nach Voraussetzung minimal ist. Also gilt D(v) = d(v). Lemma 2 min D(V \ S) = min d(v \ S) ist nicht fallend. 2

4 Beweis: Zeigen zunächst die Gleichheit: Falls S = V gilt min D(V \ S) = min d(v \ S) = min =. (min = nach Definition.) Andernfalls existiert ein v V \ S mit d(v) minimal. Sei u der erste Knoten außerhalb von S auf einem kürzesten Weg von s nach v. Dann ist D(u) = d(u) d(v) (Lemma 1). Da für v d(v) minimal ist, gilt d(u) = d(v). Also folgt: min D(V \ S) D(u) = d(u) = d(v) = min d(v \ S). Andererseits ist für alle w V D(w) d(w) und somit min D(V \ S) min d(v \ S). Daraus folgt: min D(V \ S) = min d(v \ S). Zeigen nun: min d(v \ S) ist nicht fallend: d(w) ändert sich nicht für alle w V. S wird größer, also sucht man das minimale d(w) in einer immer kleineren Menge S \ V mit konstanten d- Werten. min d(v \ S) kann also höchstens größer werden. 2.2 Algorithmus von Dijkstra Der Algorithmus von Dijkstra beruht auf Lemma 1 und Lemma 2. Algorithmus von Dijkstra { 0 : v = s D 1 Setze D(v) := { : sonst s : v = s D 2 Setze V or(v) := nil : sonst D 3 S := D 4 Solange V \ S D 4.1 Finde u V \ S mit D(u) minimal D 4.2 Setze S := S {u} D 4.3 Für alle v {w V w V \ S und (u, w) E} führe aus: D Falls D(u) + l(u, v) < D(v) D Setze D(v) := D(u) + l(u, v) D Setze V or(v) := u 3

5 a s 3 12 b c 2 d 1 1 e 15 f Beginn: S = D(s) = 0, für alle v s : D(v) = 1. Durchlauf (Schleife) S = {s} D(b) = 3, D(e) = 1 2. Durchlauf S = {s, e} D(b) = 3, D(f) = Durchlauf S = {s, e, b} D(a) = 8, D(c) = 15, D(f) = Durchlauf S = {s, e, b, a} D(c) = 15, D(d) = 16, D(f) = Durchlauf S = {s, e, b, a, c} D(d) = 16, D(f) = Duchlauf S = {s, e, b, a, c, d} D(f) = Durchlauf S = {s, e, b, a, c, d, f} Wie leicht ersichtlich ist, müssen für diesen Algorithmus die Knoten nach D(v) sortiert werden. Das bedeutet, um den Algorithmus von Dijkstra in Linearzeit implementieren zu können, ist es nötig, in Linearzeit sortieren zu können (Fredman und Tarjan 1987). Andererseits setzt Sortieren in Linearzeit voraus, dass der Algorithmus von Dijkstra in Linearzeit implementiert werden kann (Thorup 1996). Folgerung Da es nicht möglich ist, die Knoten in Linearzeit nach D(v) zu sortieren, ist es also zur Entwicklung eines Linearzeitalgorithmus für das SSSP-Problem nötig, sich von Dijkstras Algorithmus zu lösen und andere Techniken zu verwenden. Wir suchen daher eine andere Bedingung, so dass zwar gilt D(v) = d(v), aber eventuell D(v) min D(V \ S). 4

6 3 Entwicklung des Algorithmus A 3.1 Die andere Bedingung Lemma 3 Sei die Knotenmenge von V in disjunkte Teilmengen V 1,..., V k aufteilbar, so dass alle Kanten zwischen den Teilmengen mindestens Gewicht δ haben. Für ein i und v V i \ S gelte D(v) = min D(V i \ S) min D(V \ S) + δ. Dann gilt D(v) = d(v). a s 3 b 12 c 2 d 1 1 e 15 f V lässt sich in zwei Teilmengen V 1 = {s, a, b, e} und V 2 = {c, d, f} aufteilen. Alle Kanten zwischen den Teilmengen V 1 und V 2 haben ein Gewicht δ = 8. Sei nun S = {s, b, e} wie nach dem zweiten Durchlaufen der Schleife des Algorithmus von Dijkstra. Dann gilt die zweite Bedingung des Lemma 3 für i = 2 und v = c: Für c V 2 \S = {c, d, f} gilt: D(c) = 15 = min D(V 2 \S), da D(f) = D(c) = und 15 min D(V \ S) + 8, denn V \ S = {a, c} mit D(a) = 8 und D(c) = 15. Beweis: Sei u der erste Knoten außerhalb von S auf einem kürzesten Weg von s nach v. Dann ist D(u) = d(u). Falls u V i, folgt wie bei Lemma 1: D(v) d(v) d(u) = D(u) D(v), also D(v) = d(v). Sei u V i. Dann haben alle Kanten zwischen V \ V i ( u) und V i ( w) Gewicht δ. Also folgt: D(v) d(v) d(u) + δ = D(u) + δ. Andererseits gilt: D(u) + δ min D(V \ S) + δ Vor = min D(V i \ S) Vor = D(v). Daraus folgt D(v) = d(v). 5

7 3.2 Technische Voraussetzungen Um dieses Ergebnis in einen Algorithmus umsetzen zu können, müssen zwei technische Voraussetzungen erfüllt werden. Eine Voraussetzung für den Algorithmus A und den späteren Linearzeitalgorithmus ist das RAM-Modell, die andere Vorausetzung die Verwendung von Buckets. RAM-Modell Bei diesem Modell ist der Speicher in adressierbare Wörter der Länge ω eingeteilt. So werden alle Gewichte und Weglängen als Binärzahlen der Länge ω gespeichert. Innerhalb des RAM-Modells wird es manchmal vorgezogen, sich auf so genannte AC 0 -Operationen zu beschränken. Diese beinhalten die Addition, die shift -Operation aber keine Multiplikation. Die shift -Operation Die shift -Operation wird als x i notiert, was für x 2 steht. i x = 6 in Binärzahlen: = 6 2 = = 6 2 = Betrachtet man statt der Dezimalzahlen die Binärzahlen, so sieht man, dass bei einer Zahl x durch die shift -Operation gerade die i letzten Stellen gestrichen werden. Buckets Ein Bucket B ist eine Menge, in die beliebige Elemente in konstanter Zeit eingefügt werden können und aus der ein beliebiges Element in konstanter Zeit wieder entfernt werden kann. Solche Buckets können zum Beispiel als doppeltverkettete Liste implementiert werden. Das RAM-Modell ermöglicht durch die Adressierbarkeit der Wörter die Erstellung eines Arrays mit l Buckets B(1) bis B(l), so dass in konstanter Zeit Elemente in B(i) eingefügt oder aus B(i) entfernt werden können. Mit diesen Voraussetzungen lässt sich nun ein Algorithmus formulieren, der auf Graphen angewandt werden kann, die die Bedingung aus Lemma 3 erfüllen. Dazu wählt man δ := 2 α. Die Indizes der Teilmengen i {1,..., k} werden so in Buckets einsortiert, dass i B(V i \ S) α. 6

8 Anzahl der benötigten Buckets D(v) heißt, es gibt einen Weg von s nach v mit Länge D(v). Es gilt: D(v) e E l(e). Der maximale Index eines nichtleeren Buckets ist begrenzt durch = e E l(e) α. Die benötigten Bucketindizes sind folglich 0, 1,...,,. Insgesamt benötigt man also + 2 Buckets. 3.3 Algorithmus A Algorithmus A löst das SSSP-Problem, wenn V in Teilmengen V 1,..., V k aufgeteilt ist, wobei alle Kanten zwischen den Teilmengen mindestens Gewicht 2 α haben. A 1 S := {s} D(s) := 0 für alle v s : D(v) := l(s, v) A 2 für ix := 0, 1,...,, : B(ix) := A 3 für i := 1,..., k: füge i in B(min D(V i \ S) α) ein A 4 für ix := 0 bis A 4.1 solange B(ix) A nimm i B(ix) A nimm v V i \ S mit D(v) minimal A für alle (v, w) E, w / S A A A sei j so, dass w V j D(w) := min{d(w), D(v) + l(v, w)} falls min D(V j \ S) α verringert wird, verschiebe j nach B(min D(V j \ S) α) S := S {v} falls min D(V i \ S) α vergrößert wird, verschiebe i nach B(min D(V \ S) α) 7

9 a s 3 b 12 c 2 d 1 1 e 15 f α = 3, V 1 = {s, a, b, e}, V 2 = {c, d, f} A 1 S = {s}, D(s) = 0, D(b) = 3, D(e) = 1, für alle anderen v: D(v) = A 2 = 58 3 = 7 A 3 (Der Übersicht halber steht nun V 1 statt i = 1 bzw. V 2 statt i = 2:) V 1 B(0), V 2 B( ) 1. Durchlauf B(0) nimm V 1, nimm e, da D(e) = 1 minimal in V 1 D(f) = 16, also V 2 B(2) S = {s, e} 2. Durchlauf B(0) nimm V 1, nimm b, da D(b) = 3 minimal in V 1 D(c) = 15, also V 2 B(1) D(a) = 8 S = {s, e, b} und V 1 B(1) 3. Durchlauf B(1) nimm V 2, nimm c, da D(c) = 15 minimal in V 2 D(d) = 17 S = {s, e, b, c} und V 2 B(2) 4. Durchlauf B(1) nimm V 1, nimm a, da D(a) = 8 minimal in V 1 D(d) = 16 S = {s, e, b, c, a} und V 1 B( ) 5. Durchlauf B(2) nimm V 2, nimm f, da D(f) = 16 minimal in V 2 S = {s, e, b, c, a, f} 6. Durchlauf B(2) nimm V 2, nimm d, da D(d) = 16 minimal in V 2 S = {s, e, b, c, a, f, d} und V 2 B( ) 8

10 Korrektheit Die Korrektheit des Algorithmus A beruht auf dem Einsortieren der i in entsprechende Buckets und folgt aus Lemma 3. min D(Vi \ S) min D(V \ S) min D(V i \S) min D(V \S)+2 α 2 α 2 α min D(V i \ S) α min D(V \ S) α min D(V i \ S) D(V \ S) + δ Es gilt: min D(V \ S) α = min i (min D(V i \ S) α). Wenn i also im nichtleeren Bucket mit dem kleinsten Index ist, gilt: min D(V i \ S) α = min D(V \ S) α. Sei nun ix der kleinste Index eines nichtleeren Buckets. Falls i B(ix) und für v V i \ S D(v) minimal ist, gilt: D(v) = min D(V i \ S) min D(V \ S) + δ Lemma = 3 D(v) = d(v) Laufzeit Die Laufzeit des Algorithmus A ist in O(m + )+ Kosten für das Behalten von min D(V i \ S) für jedes i. Diese Laufzeit kann verringert werden, indem man min D(V i \ S) rekursiv behält und indem man die Anzahl der Buckets verringert. Für letzteres genügt es, α groß zu wählen. Folgerung Wir suchen nun eine rekursive Bedingung, um D(v) = d(v) schließen zu können. 9

11 4 Entwicklung eines rekursiven Algorithmus 4.1 Komponentenhierarchie Definition G i ist ein Subgraph von G, dessen Kantenmenge die Kanten von G sind mit l(e) 2 i. G 0 besteht aus einzelnen Knoten. ω ist die Wortlänge, das heißt, alle Kantengewichte und Weglängen sind 2 ω, also G ω = G. Auf dem i-ten Level sind die Komponenten von G i. Die Komponente auf dem i-ten Level, die v enthält, wird mit [v] i bezeichnet. Diese Komponentenhierarchie lässt sich auch als Baum darstellen. In dieser Darstellung sind die Blätter die Komponenten, die nur aus einem Knoten bestehen. Die Wurzel ist der Knoten [v] r = G mit minimalem r. a s 3 b 12 c 2 d 1 1 e 15 f [s] 0 [e] 0 Lemma 4 Falls [v] i [w] i dann ist dist(v, w) 2 i. [s] 4 [c] 3 [c] 2 [s] 3 [s] 2 [a] 2 [s] 1 [b] 1 [a] 1 [c] 1 [d] 1 [b] 0 [a] 0 [c] 0 [f] 0 [d] 0 Beweis: Da [v] i [w] i enthält jeder Weg von v nach w eine Kante mit Gewicht 2 i. Definition [w] i 1 mit [w] i = [v] i heißt Kind von [v] i, das heißt w [v] i In der Darstellung als Baum sind Kinder gerade die direkten Nachfolger eines Knotens. Notation [v] i := [v] i \ S, [v] i muss dabei nicht zusammenhängend sein. 10

12 Definition [v] i heißt min-child von [v] i+1, falls min(d([v] i )) i = min(d([v] i+1 )) i Sei S = {s, e, b}: [s] 3 ist min-child von [s] 4 : [c] 3 ist min-child von [s] 4 : D(a) = 8 D(c) = 15 min(d([s] 3 )) 3 = 1 min(d([c] 3 )) 3 = 1 min(d([s] 4 )) 3 = 1 min(d([s] 4 )) 3 = 1 [c] 1 ist min-child von [c] 2 : [d] 1 ist nicht min-child von [c] 2 : D(c) = 15 D(d) = 16 min(d([c] 1 )) 1 = 7 min(d([d 1 )) 1 = 8 min(d([c] 2 )) 1 = 7 min(d([c 2 )) 1 = 7 Definition [v] i heißt minimal, falls [v] i und für m = i,..., r 1 gilt: [v] i ist min-child von [v] i+1. Die Bedingung [v] i ist wichtig für den Fall V = S. Falls V = S, ergibt sich min(d([v] i )) = min = für alle [v] i. Dann sind alle [v] i minimal. Durch die Bedingung [v] i ist im Fall V = S kein [v] i minimal. Sei S = {s, e, b}: a ist minimal und c ist minimal. Lemma 5 Falls v S und [v] i minimal ist, gilt min(d([v] i )) = min(d([v] i )). Insbesondere falls [v] 0 = {v} minimal ist, gilt D(v) = d(v). 4.2 Algorithmus B und Algorithmus C Damit ergibt sich ein rekursives Vorgehen, um eine minimale Komponente zu besuchen: Für Kinder [v] i 1 von [v] i wird überprüft, ob min(d([w] i 1 )) i 1 = min(d([v] i )) i 1 = ix([v] i), wobei ix([v] i ) ein Index ist. Dies geschieht so lange bis ein [v] 0 = {v} gefunden ist, das minimal ist. Dann kann man dieses v besuchen. 11

13 Algorithmus B Eingabe: Graph G = (V, E) mit einer Kantengewichtsfunktion l und einem ausgezeichneten Knoten s. Ausgabe: D mit D(v) = d(v) = dist(s, v) für alle v V. B 1 S := {s} B 2 D(s) := 0 für alle v s: D(v) := l(s, v) B 3 Visit ([s] ω ) B 4 Gib D aus Algorithmus C Der Algorithmus Visit ([v] i ) setzt voraus, dass [v] i minimal ist. Visit ([v] i ) C 1 falls i = 0, besuche v und gehe zurück C 2 falls v noch nie besucht wurde: ix([v] i ) := min D([v] i ) i 1 C 3 wiederhole bis [v] i = oder bis ix([v] i ) i erhöht wird: C 3.1 solange es ein Kind [w] i 1 von [v] i gibt, so dass min D([w] i 1 ) i 1 = ix([v] i) C sei [w] i 1 ein Kind von [v] i mit min D([w] i 1 ) i 1 = ix([v] i) C Visit ([w] i 1 ) C 3.2 erhöhe ix([v] i ) um 1 a s 3 b 12 c 2 d 1 1 e 15 f [s] 0 [e] 0 [s] 4 [c] 3 [c] 2 [s] 3 [s] 2 [a] 2 [s] 1 [b] 1 [a] 1 [c] 1 [d] 1 [b] 0 [a] 0 [c] 0 [f] 0 [d] 0 12

14 S = {s} Visit ([s] 4 ) D(e) = 1 ix([s] 4 ) = 0 D(b) = 3 Kind [s] 3 : min D([s] 3 ) 3 = 0 = ix([s] 4 ) Visit ([s] 3 ) ix([s] 3 ) = 0 Kind[s] 2 : min D([s] 2 ) 2 = 0 = ix([s] 3 ) Visit ([s] 2 ) ix([s] 2 ) = 0 Kind [b] 1 : min D([b] 1 ) 1 = 1 ix([s] 2 ) Kind [s] 1 : min D([s] 1 ) 1 = 0 = ix([s] 2 ) Visit ([s] 1 ) ix([s] 1 ) = 1 Kind [s] 0 : min D([s] 0 ) 0 = ix([s] 1 ) Kind [e] 0 : min D([e] 0 ) 0 = 1 = ix([s] 1 ) Visit ([e] 0 ) S = {s, e} ix([s] 1 ) = 2 D(b) = 3 ix([s] 2 ) = 1 D(f) = 16 Kind [s] 2 : min D([s] 2 ) 2 = 0 = ix([s] 3 ) Visit([s] 2 ) Kind [b] 1 : min D([b] 1 ) 1 = 2 = ix([s] 2 ) Visit([b] 1 ) ix([b] 1 ) = 2 Kind [b] 0 : min D([b] 0 ) 0 = 2 = ix([b] 1 ) Visit ([b] 0 ) S = {s, e, b} ix([b] 1 ) = 3 D(a) = 8 ix([s] 2 ) = 2 D(c) = 15 Kind [a] 2 : min D([a] 2 ) 2 = 1 ix([s] 3 ) ix([s] 3 ) = 1 Kind [c] 3 : min D([c] 3 ) 3 = 1 = ix([s] 3 ) Visit ([c] 3 ). 13

15 5 Ausblick auf die Entwicklung des Linearzeitalgorithmus Um eine lineare Laufzeit zu erhalten ist es nun nötig, die Komponentenhierarchie zu verfeinern. Dies geschieht, indem man einen so genannten Komponentenbaum konstruiert. Dieser entspricht im Wesentlichen der schon vorgestellten Baumdarstellung der Komponentenhierarchie, allerdings fehlen die Knoten [v] i mit [v] i = [v] i+1. Es gibt im Komponentenbaum also keine Knoten mit nur einem Nachfolger, daher ist die Anzahl der Knoten 2n 1. Wenn man von einem solchen Komponentenbaum ausgeht, lässt sich der Algorithmus C so verbessern, dass seine Laufzeit in O(m) ist. Dazu ist es wiederum nötig, den Komponentenbaum in Linearzeit konstruieren zu können. Dies erfolgt über die Konstruktion eines Minimum Spanning Tree (MST), was aber auch in Linearzeit möglich ist (Fredman und Willard 1994). 14

16 6 Ergebnis Satz 1 Für das SSSP-Problem in ungerichteten Graphen mit ganzzahligen positiven Kantengewichten gibt es einen deterministischen Algorithmus mit Laufzeit O(m). Einwände Gegen dieses Ergebnis können zwei Einwände vorgebracht werden. Der Linearzeitalgorithmus verwendet atomic heaps bei der Konstruktion des MST. Zum einen sind atomic heaps nur für definiert und zum anderen benötigt man für atomic heaps Multiplikation, was aber keine AC 0 -Operation ist. Folgerung Dies bedeutet, für die Praxis muss man Lösungen finden, die ohne die Verwendung von atomic heaps auskommen. Dies ist möglich, indem man auf andere Verfahren zur Konstruktion eines MST zurückgreift. Satz 2 Auf einer RAM mit Standard AC 0 -Operationen gibt es einen deterministischen Algorithmus für das SSSP-Problem für ungerichtete Graphen mit ganzzahligen positiven Kantengewichten mit Laufzeit O(α(m, n)m). Endergebnis: Es gibt einen Linearzeitalgorithmus für das SSSP-Problem in ungerichteten Graphen mit ganzzahligen positiven Kantengewichten, aber diese optimale Lösung ist nicht für Implementationen geeigenet. Es gibt jedoch implementierbare Varianten für die praktische Anwendung. Literatur: Mikkel Thorup(1999): Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time. Journal of the ACM 46,3. Seite

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

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,

Mehr

1 topologisches Sortieren

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

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Datenstrukturen & Algorithmen

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

Mehr

WS 2009/10. Diskrete Strukturen

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

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

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 bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Anmerkungen zur Übergangsprüfung

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

Mehr

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 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

Mehr

Primzahlen und RSA-Verschlüsselung

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

Mehr

Algorithmen II Vorlesung am 15.11.2012

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

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Information Systems Engineering Seminar

Information Systems Engineering Seminar Information Systems Engineering Seminar Algorithmische Prüfung der Planarität eines Graphen Marcel Stüttgen, 22.10.2012 FH AACHEN UNIVERSITY OF APPLIED SCIENCES 1 Planarität - Definition Ein Graph heißt

Mehr

15 Optimales Kodieren

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

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

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)

Mehr

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29 1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian

Mehr

Konzepte der Informatik

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

Mehr

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

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 schlechte@zib.de Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB) http://www.zib.de/schlechte 2 Überblick

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

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!.

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

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

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

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Korrigenda Handbuch der Bewertung

Korrigenda Handbuch der Bewertung Korrigenda Handbuch der Bewertung Kapitel 3 Abschnitt 3.5 Seite(n) 104-109 Titel Der Terminvertrag: Ein Beispiel für den Einsatz von Future Values Änderungen In den Beispielen 21 und 22 ist der Halbjahressatz

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

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

Mehr

Meine Lernplanung Wie lerne ich?

Meine Lernplanung Wie lerne ich? Wie lerne ich? Zeitraum Was will ich erreichen? Wie? Bis wann? Kontrolle Weiteres Vorgehen 17_A_1 Wie lerne ich? Wenn du deine gesteckten Ziele nicht erreicht hast, war der gewählte Weg vielleicht nicht

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

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

Mehr

3. Verpackungskünstler. Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung

3. Verpackungskünstler. Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung Päckchen, die man verschenken möchte, werden gerne mit Geschenkband verschnürt. Dazu wird das Päckchen auf seine größte Seite gelegt, wie

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

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

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Fully dynamic algorithms for the single source shortest path problem.

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

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

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)

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

Mehr

Wie löst man Mathematikaufgaben?

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

Mehr

7 Rechnen mit Polynomen

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

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

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

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

BIA-Wissensreihe Teil 4. Mind Mapping Methode. Bildungsakademie Sigmaringen

BIA-Wissensreihe Teil 4. Mind Mapping Methode. Bildungsakademie Sigmaringen BIA-Wissensreihe Teil 4 Mind Mapping Methode Bildungsakademie Sigmaringen Inhalt Warum Mind Mapping? Für wen sind Mind Maps sinnvoll? Wie erstellt man Mind Maps? Mind Mapping Software 3 4 5 7 2 1. Warum

Mehr

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10 Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist

Mehr

Zeichen bei Zahlen entschlüsseln

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

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: If-clauses - conditional sentences - Nie mehr Probleme mit Satzbau im Englischen! Das komplette Material finden Sie hier: School-Scout.de

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1 Zahlenwinkel: Forscherkarte 1 alleine Tipp 1 Lege die Ziffern von 1 bis 9 so in den Zahlenwinkel, dass jeder Arm des Zahlenwinkels zusammengezählt das gleiche Ergebnis ergibt! Finde möglichst viele verschiedene

Mehr

Access Verbrecherdatenbank Teil 3

Access Verbrecherdatenbank Teil 3 Access Verbrecherdatenbank Teil 3 Allgemeines Im letzten Teil des Lehrgangs zu Microsoft Access erfährst du, wie man aus einer Datenbank Informationen herausfiltert, indem an Filter und Abfragen anwendet.

Mehr

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden. Multiplikation Die schriftliche Multiplikation ist etwas schwieriger als die Addition. Zum einen setzt sie das kleine Einmaleins voraus, zum anderen sind die Überträge, die zu merken sind und häufig in

Mehr

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr

Aufgaben zur Flächenberechnung mit der Integralrechung

Aufgaben zur Flächenberechnung mit der Integralrechung ufgaben zur Flächenberechnung mit der Integralrechung ) Geben ist die Funktion f(x) = -x + x. a) Wie groß ist die Fläche, die die Kurve von f mit der x-chse einschließt? b) Welche Fläche schließt der Graph

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

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

Mehr

Statistische Untersuchungen zu endlichen Funktionsgraphen

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

Mehr

http://www.olympiade-mathematik.de 4. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 8 Saison 1964/1965 Aufgaben und Lösungen

http://www.olympiade-mathematik.de 4. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 8 Saison 1964/1965 Aufgaben und Lösungen 4. Mathematik Olympiade Saison 1964/1965 Aufgaben und Lösungen 1 OJM 4. Mathematik-Olympiade Aufgaben Hinweis: Der Lösungsweg mit Begründungen und Nebenrechnungen soll deutlich erkennbar in logisch und

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

16. All Pairs Shortest Path (ASPS)

16. 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

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon Prozess 4 Akonto WinWerk 8307 Effretikon Telefon: 052-740 11 11 Telefax: 052 740 11 71 E-Mail info@kmuratgeber.ch Internet: www.winwerk.ch Inhaltsverzeichnis 1 Akonto... 2 1.1 Allgemein... 2 2 Akontobeträge

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

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

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

DAP2-Klausur 07.08.2004

DAP2-Klausur 07.08.2004 DAP2-Klausur 07.08.2004 Vorname : Familienname: Ich studiere (Bitte markieren): Informatik/Inform. Lehramt/Inf.technik/Physik/ Mathe/Statistik/Sonstiges: Bitte beachten: Auf jedem Blatt Matrikelnummer

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven

Mehr

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Tourist Town. wenn Computer ins Schwitzen geraten. Prof. Dr. Isolde Adler IT-Girls Night 28.11.2014 29.11.2014

Tourist Town. wenn Computer ins Schwitzen geraten. Prof. Dr. Isolde Adler IT-Girls Night 28.11.2014 29.11.2014 Tourist Town wenn Computer ins Schwitzen geraten Prof. Dr. Isolde Adler IT-Girls Night 28.11.2014 29.11.2014 Inhalt 1. Was kommt jetzt? 2. Tourist Town Dominierende Mengen 3. Ausblick Isolde Adler Tourist

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

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

Mehr

Repetitionsaufgaben Wurzelgleichungen

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

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

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

Mehr

Charakteristikenmethode im Beispiel

Charakteristikenmethode im Beispiel Charakteristikenmethode im Wir betrachten die PDE in drei Variablen xu x + yu y + (x + y )u z = 0. Das charakteristische System lautet dann ẋ = x ẏ = y ż = x + y und besitzt die allgemeine Lösung x(t)

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

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

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Rechnungen erstellen mit Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Rechnungen erstellen mit Webling 1.1 Rechnung erstellen und ausdrucken 1.2 Rechnung mit Einzahlungsschein erstellen

Mehr

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung Kompakte Graphmodelle handgezeichneter Bilder Einbeziehung in Autentizierung und Bilderkennung Inhaltsverzeichnis 1 Einleitung Das graphische Model.1 Image Thinning................................. 3.

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Kostenstellen in Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Kostenstellen 1.1 Was sind Kostenstellen? 1.2 Kostenstellen in der 2 Kostenstellen in Webling 2.1 Kostenstellen erstellen

Mehr