3. Übung Algorithmen I
|
|
|
- Erna Wolf
- vor 10 Jahren
- Abrufe
Transkript
1 Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische Informatik
2 Amortisierte Analyse Beispiel Binärzähler Timo Bingmann, Christian Schulz
3 Amortisierte Analyse Beispiel Binärzähler Timo Bingmann, Christian Schulz
4 Amortisierte Analyse Beispiel Binärzähler Timo Bingmann, Christian Schulz
5 Amortisierte Analyse Beispiel Binärzähler Timo Bingmann, Christian Schulz
6 Amortisierte Analyse Beispiel Binärzähler Timo Bingmann, Christian Schulz
7 Amortisierte Analyse Beispiel Binärzähler Timo Bingmann, Christian Schulz
8 Amortisierte Analyse Beispiel Binärzähler β 2 β 1 β 0 i β i 2 i 2 Timo Bingmann, Christian Schulz
9 Amortisierte Analyse Beispiel Binärzähler Binärzähler: zähle von 0 bis m m Inkrementoperationen x = i β i2 i Function binary-increment() : β 0 β i=0 : N 0 while β i = 2 do β i+1 β i β i 0 i i β 2 β 1 β 0 i β i 2 i 3 Timo Bingmann, Christian Schulz
10 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
11 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
12 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
13 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
14 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
15 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
16 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
17 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
18 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
19 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
20 Beispiel Binärzähler binary-increment Timo Bingmann, Christian Schulz
21 Amortisierte Analyse Beispiel Binärzähler 1 Kostenmodell: Jedes gekippte Bit kostet 1 2 jedes Bit einzeln Kippen! Operation Kosten k 10 k k + 1 cost(i i + 1) 1 + Anzahl der endenden Einsen in bin(i) 5 Timo Bingmann, Christian Schulz
22 Amortisierte Analyse Beispiel Binärzähler T (m) seien Gesamtkosten für m Operationen amortisierten Kosten pro Operation definiert als T (m)/m amortisierten Kosten einer Inkrementoperation? a) O(1) b) O(log m) c) O(m) 6 Timo Bingmann, Christian Schulz
23 Beispiel Binärzähler Aggregatmethode Kochrezept: Schätze T (m) direkt ab Operation Kosten Beobachtung (m Ops): β 0 jedes mal gekippt β 1 jedes zweite mal gefoppt β 2 jedes vierte mal gefoppt β 3 jedes achte mal gefoppt... = m = m 2 = m 4 = m 8 T (m) m + m 2 + m 4 + m 8... i=0 m 2 j = 2m 7 Timo Bingmann, Christian Schulz
24 Beispiel Binärzähler Aggregatmethode Kochrezept: Schätze T (m) direkt ab Operation Kosten Beobachtung (m Ops): β 0 jedes mal gekippt β 1 jedes zweite mal gefoppt β 2 jedes vierte mal gefoppt β 3 jedes achte mal gefoppt... = m = m 2 = m 4 = m 8 T (m) m 2 = O(1) 7 Timo Bingmann, Christian Schulz
25 Beispiel Binärzähler Bankkontomethode 1 Allgemein: t 1,..., t m die Laufzeiten der Einzeloperationen 2 t i Gebühr für i-te Operation 3 vor jeder Operation erhält Algorithmus Gehalt G 4 alle Operationen müssen aus Gehältern bezahlt werden 8 Timo Bingmann, Christian Schulz
26 Beispiel Binärzähler Bankkontomethode 1 finde Gehalt G + Sparstrategie mit T (m) mg 2 Binärzähler: G = 2, Strategie: Zählvorgang genau ein Bit auf 1 gesetzt, dies kostet 1 Euro 9 Timo Bingmann, Christian Schulz
27 Beispiel Binärzähler Bankkontomethode 1 finde Gehalt G + Sparstrategie mit T (m) mg 2 Binärzähler: G = 2, Strategie: Zählvorgang genau ein Bit auf 1 gesetzt, dies kostet 1 Euro anderer Euro wird gespart, um Bit auf 0 zu setzen 9 Timo Bingmann, Christian Schulz
28 Beispiel Binärzähler Bankkontomethode 1 finde Gehalt G + Sparstrategie mit T (m) mg 2 Binärzähler: G = 2, Strategie: Zählvorgang genau ein Bit auf 1 gesetzt, dies kostet 1 Euro anderer Euro wird gespart, um Bit auf 0 zu setzen 3 Analyse: zum Zeitpunkt i: k-mal rücksetzen auf 0 und einmal Bit setzen finanziert durch k Euro aus dem Konto und 1 Euro Gehaltseingang 9 Timo Bingmann, Christian Schulz
29 Beispiel Binärzähler Einzelkosten Cost(i) Op 10 Timo Bingmann, Christian Schulz
30 Beispiel Binärzähler Summierte Kosten T(m) Timo Bingmann, Christian Schulz Op
31 Beispiel Binärzähler Summierte Kosten 2m T(m) Timo Bingmann, Christian Schulz Op
32 Beispiel Binärzähler T (m)/m 2 T(m) m Op 13 Timo Bingmann, Christian Schulz
33 Beispiel Hotlist-Datenstruktur wichtige Operationen: lookup(key k) : Data insert(key k, Data d) delete(key k) Ziel: Datenstruktur in der Operationen in amortisiert O ( n ) 14 Timo Bingmann, Christian Schulz
34 Beispiel Hotlist-Datenstruktur Lookup wichtige Operationen: lookup(key k) : Data insert(key k, Data d) delete(key k) n n linear lookup(key k) in o(n) Elemente nicht komplett unsortiert 15 Timo Bingmann, Christian Schulz
35 Beispiel Hotlist-Datenstruktur Lookup lookup(key k) : Data Vorgehen: durchsuche die Hotlist komplett durchsuche das geordnete Array mit binärer Suche n n Laufzeit: O ( n ) + O(log n) = O ( n ) 16 Timo Bingmann, Christian Schulz
36 Beispiel Hotlist-Datenstruktur insert insert(key k, Data d) n Fall A: in Hotlist ist Platz nächste freie Position in Hotlist n Laufzeit: O(1) 17 Timo Bingmann, Christian Schulz
37 Beispiel Hotlist-Datenstruktur insert insert(key k, Data d) Fall B: in Hotlist ist kein Platz sortiere Hotlist merge: führe sortierte Listen zusammen k erstes Element in neuer Hotlist Laufzeit: O ( n log( n) ) + O(n) = O(n) n n n + n 18 Timo Bingmann, Christian Schulz
38 Beispiel Hotlist-Datenstruktur Amortisierung nach Zusammenführung sind n 1 Positionen in der Hotlist frei n insert-operationen bis zur nächsten Zusammenführung Zusammenführung hat Aufwand cn Also: spare bei jeder einfachen insert-operation c n an bezahle bei der letzten Operation cn 19 Timo Bingmann, Christian Schulz
39 Beispiel Hotlist-Datenstruktur delete delete(key k): jedes Element bekommt valid -Bit lookup: suche k setze valid -Bit auf 0 Löschoperationen selten Laufzeit: O ( n ) + O(log n) = O ( n ) n n 20 Timo Bingmann, Christian Schulz
40 Beispiel Hotlist-Datenstruktur delete delete(key k): bei mehr als O(1) Lösch-Ops zwischen zwei Zusammenführungen n Vorgehen ähnlich zu insert Reorganisation nach O ( n ) Lösch-Ops lookup funktioniert noch mit gleicher Laufzeit n Laufzeit: Analyse wie bei insert 21 Timo Bingmann, Christian Schulz
41 Beispiel Hotlist-Datenstruktur amortisierter Aufwand lookup(key k): Aufwand in O ( n ) insert(key k): Aufwand amortisiert in O ( n ) delete(key k): Aufwand amortisiert in O ( n ) 22 Timo Bingmann, Christian Schulz
42 Unbounded Array Wieviele Speicherzellen braucht ein Unbounded Array gleichzeitig für n Elemente? Worst-Case-Betrachtung es darf eine beliebige Folge von pushback und popback Operationen vorausgegangen sein a) 2n ± c b) 3n ± c c) 4n ± c d) 6n ± c 23 Timo Bingmann, Christian Schulz
43 Unbounded Array live! 1 24 Timo Bingmann, Christian Schulz
44 Unbounded Array live! Timo Bingmann, Christian Schulz
45 Unbounded Array live! Timo Bingmann, Christian Schulz
46 Unbounded Array live! Timo Bingmann, Christian Schulz
47 Unbounded Array live! Timo Bingmann, Christian Schulz
48 Unbounded Array live! Timo Bingmann, Christian Schulz
49 Unbounded Array live! Timo Bingmann, Christian Schulz
50 Unbounded Array live! Aufwand bisher: reallocate(1), reallocate(2), reallocate(4), reallocate(8) 8 konstante Zuweisungsoperationen Amortisierte Kosten für n Einfüge-Operationen: T (n) = da T reallocate (n) = O(n) log 2 n i=0 T reallocate (2 i ) + n = O(n), 24 Timo Bingmann, Christian Schulz
51 Unbounded Array live! Einfügen benötigt 3(n 1) Speicherzellen falls maximales n bekannt, ist ein bounded array oft besser 24 Timo Bingmann, Christian Schulz
52 Unbounded Array live! Warum schrumpft das Array nicht? die Zukunft nicht bekannt (Stichwort Online-Algorithmus) folgendes pushback erneutes O(n) Anwachsen Folge von n solcher popback / pushback hat Laufzeit O ( n 2) 24 Timo Bingmann, Christian Schulz
53 Unbounded Array live! Warum schrumpft das Array nicht? die Zukunft nicht bekannt (Stichwort Online-Algorithmus) folgendes pushback erneutes O(n) Anwachsen Folge von n solcher popback / pushback hat Laufzeit O ( n 2) deshalb erst bei 1/4 schrumpfen, dann waren Ω (n) konstante Operationen seit dem letzten Anwachsen/Schrumpfen 24 Timo Bingmann, Christian Schulz
54 Unbounded Array live! Timo Bingmann, Christian Schulz
55 Unbounded Array live! Timo Bingmann, Christian Schulz
56 Unbounded Array live! Timo Bingmann, Christian Schulz
57 Unbounded Array live! nach Einfüge- und Löschops bis zu 4(n 1) Speicherzellen benötigt hier hilft auch kein bounded array verkettete Listen haben genau n Elemente, aber zusätzliche Zeiger es gibt nicht eine perfekte Datenstruktur für alle Anwendungen 24 Timo Bingmann, Christian Schulz
58 Unbounded Array live! bei einer Größe von 4n schrumpft das Feld auf 2n es bleibt Platz für weitere Elemente während dem Schrumpfen: 6n Speicherzellen gleichzeitig belegt außer Speicherverwaltung bietet Schrumpfoperation ohne Kopieren 24 Timo Bingmann, Christian Schulz
59 Unbounded Array: Allgemeine Version Kompromiss: im schlimmsten Fall weniger Platz, dafür langsamer? 25 Timo Bingmann, Christian Schulz
60 Unbounded Array: Allgemeine Version Kompromiss: im schlimmsten Fall weniger Platz, dafür langsamer? Ja! Durch Wahl des: Vergrößerungsfaktors β (hier bisher immer 2) Schranke α (hier bisher immer 4) der verallgemeinerten Version: 25 Timo Bingmann, Christian Schulz
61 Unbounded Array: Allgemeine Version Kompromiss: im schlimmsten Fall weniger Platz, dafür langsamer? Ja! Durch Wahl des: Vergrößerungsfaktors β (hier bisher immer 2) Schranke α (hier bisher immer 4) der verallgemeinerten Version: realloziere βn verkleinere bei αn w n > 0 25 Timo Bingmann, Christian Schulz
62 Unbounded Array: Parameter-Tuning realloziere βn verkleinere bei αn w n > 0 amortisierte Laufzeiten bleiben asymptotisch gleich für β > 1, α > β. größeres β, α: schneller, benötigt aber mehr Speicherplatz 26 Timo Bingmann, Christian Schulz
63 Unbounded Array: Parameter-Tuning realloziere βn verkleinere bei αn w n > 0 amortisierte Laufzeiten bleiben asymptotisch gleich für β > 1, α > β. größeres β, α: schneller, benötigt aber mehr Speicherplatz kleineres β, α: langsamer, benötigt aber weniger Speicherplatz 26 Timo Bingmann, Christian Schulz
64 Unbounded Array: Parameter-Tuning realloziere βn verkleinere bei αn w n > 0 amortisierte Laufzeiten bleiben asymptotisch gleich für β > 1, α > β. größeres β, α: schneller, benötigt aber mehr Speicherplatz kleineres β, α: langsamer, benötigt aber weniger Speicherplatz Formeln (asymptotisch, Beispielwerte für β = 1.5, α = 2): 26 Timo Bingmann, Christian Schulz
65 Unbounded Array: Parameter-Tuning realloziere βn verkleinere bei αn w n > 0 amortisierte Laufzeiten bleiben asymptotisch gleich für β > 1, α > β. größeres β, α: schneller, benötigt aber mehr Speicherplatz kleineres β, α: langsamer, benötigt aber weniger Speicherplatz Formeln (asymptotisch, Beispielwerte für β = 1.5, α = 2): amortisierte Kosten für pushback: β β 1 = 3 (bisher 2) 26 Timo Bingmann, Christian Schulz
66 Unbounded Array: Parameter-Tuning realloziere βn verkleinere bei αn w n > 0 amortisierte Laufzeiten bleiben asymptotisch gleich für β > 1, α > β. größeres β, α: schneller, benötigt aber mehr Speicherplatz kleineres β, α: langsamer, benötigt aber weniger Speicherplatz Formeln (asymptotisch, Beispielwerte für β = 1.5, α = 2): amortisierte Kosten für pushback: amortisierte Kosten für popback: β β 1 β α β = 3 (bisher 2) = 3 (bisher 1) 26 Timo Bingmann, Christian Schulz
67 Unbounded Array: Parameter-Tuning realloziere βn verkleinere bei αn w n > 0 amortisierte Laufzeiten bleiben asymptotisch gleich für β > 1, α > β. größeres β, α: schneller, benötigt aber mehr Speicherplatz kleineres β, α: langsamer, benötigt aber weniger Speicherplatz Formeln (asymptotisch, Beispielwerte für β = 1.5, α = 2): amortisierte Kosten für pushback: β β 1 β α β = 3 (bisher 2) amortisierte Kosten für popback: = 3 (bisher 1) maximaler Speicherplatzbedarf: (α + β)n = 3.5n (bisher 6n) mindestens > 2n 26 Timo Bingmann, Christian Schulz
68 Hashtabellen: Beispielanwendung: Duplikaterkennung 27 Timo Bingmann, Christian Schulz
69 Duplikaterkennung Problem: Gegeben: Folge A := a 1, a 2,..., a n von Zahlen Frage: Enthält A ein oder mehrere Duplikate a i = a j, i j? 28 Timo Bingmann, Christian Schulz
70 Duplikaterkennung Problem: Gegeben: Folge A := a 1, a 2,..., a n von Zahlen Frage: Enthält A ein oder mehrere Duplikate a i = a j, i j? Ansatz 1: Löse Problem mit Sortieren Idee: Sortiere A A := a 1,..., a n. In A stehen Duplikate nebeneinander A von links nach rechts durchlesen liefert alle Duplikate Worst-Case Laufzeit: Ω(n log n) (siehe Vorlesung Sortieren & Co ) 28 Timo Bingmann, Christian Schulz
71 Duplikaterkennung Problem: Gegeben: Folge A := a 1, a 2,..., a n von Zahlen Frage: Enthält A ein oder mehrere Duplikate a i = a j, i j? Ansatz 2: Verwende eine Hashtabelle H (mit verketteten Listen) Idee: Füge a 1,..., a n nacheinander in H ein Zahl schon drin: Duplikat erkannt! Laufzeit: Erwartet O(n) Bei zufälliger Hashfunktion und wenn H mindestens Ω(n) Slots hat 28 Timo Bingmann, Christian Schulz
72 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Timo Bingmann, Christian Schulz
73 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Timo Bingmann, Christian Schulz
74 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Timo Bingmann, Christian Schulz
75 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Timo Bingmann, Christian Schulz
76 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Timo Bingmann, Christian Schulz
77 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Timo Bingmann, Christian Schulz
78 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Timo Bingmann, Christian Schulz
79 Erkennen von Duplikaten mittels Hashtabelle Beispiel Folge A := 9, 18, 42, 25, 33, 18, 104, Hashfunktion h(a) = a mod Schon enthalten! 29 Timo Bingmann, Christian Schulz
80 Erkennen von Duplikaten mittels Hashtabelle Pseudocode 1: function hasduplicates(a : Sequence of N 0 ) : {true, false} 2: H := new HashTableWithChaining of N 0 with A slots 3: for all a A do 4: if H.find(a) NIL then return true 5: H.insert(a) 6: end do 7: return false 30 Timo Bingmann, Christian Schulz
81 Erkennen von Duplikaten mittels Hashtabelle Laufzeitanalyse Zwei Schritte 1 Erzeugen der Hashtabelle 2 Finden und Einfügen aller a i aus A = a 1,..., a n 31 Timo Bingmann, Christian Schulz
82 Erkennen von Duplikaten mittels Hashtabelle Laufzeitanalyse Zwei Schritte 1 Erzeugen der Hashtabelle Alle Slots mit Null-Zeiger initialisieren Zeit: O( A ), da Tabelle A Slots hat 2 Finden und Einfügen aller a i aus A = a 1,..., a n 31 Timo Bingmann, Christian Schulz
83 Erkennen von Duplikaten mittels Hashtabelle Laufzeitanalyse Zwei Schritte 1 Erzeugen der Hashtabelle Alle Slots mit Null-Zeiger initialisieren Zeit: O( A ), da Tabelle A Slots hat 2 Finden und Einfügen aller a i aus A = a 1,..., a n Zeit pro Einfügen: O(1) Zeit pro H.find(a): O(Listenlänge) Aber: Erwartete Laufzeit O(1) Denn: Tabelle hat A Slots Hierzu Satz aus Vorlesung: erwartete Listenlänge O(1) Gesamtzeit für Finden und Einfügen: erwartet O( A ) 31 Timo Bingmann, Christian Schulz
84 Hashtabellen in heutigen Programmiersprachen Java: bool hasduplicates(integer[] A) { HashMap<Integer,Integer> H = new HashMap<Integer,Integer>(2 * A.length()); for (int i = 0; i < A.length(); i++) { if ( H.get(A[i])!= null ) return true; H.put(A[i]); } return false; } 32 Timo Bingmann, Christian Schulz
85 Das Paging Problem Aufgabe: Nur begrenzt viele Speicherstellen s i (Blöcke, Cache, etc). {s i } = S {x i } = X Elemente x i müssen zur Verarbeitung in einer Speicherstelle s j geladen sein. Hierzu gibt es eine Operation Retrieve(x i ) s j und eine Write(s j, x i ), die hier nicht interessiert. 33 Timo Bingmann, Christian Schulz
86 Das LRU-Paging Problem Bei Retrieve(x i ) s j wird geprüft, ob x i bereits geladen ist, wenn ja wird die bestehende Speicherstellen zurückgeliefert, sonst wir eine Speicherstelle s j ausgewählt, zurück geschrieben, und mit x i geladen. Anforderung: im zweiten Fall, soll immer die älteste Speicherstelle zurückgeschrieben werden. Es sollen also immer die Ergebnisse der letzten S Retrieve(x i ) Aufrufe geladen sein, inklusive der Treffer aus dem ersten Fall. (least-recently-used (LRU) Page Replacement) 34 Timo Bingmann, Christian Schulz
87 Das LRU-Paging Problem Bei Retrieve(x i ) s j wird geprüft, ob x i bereits geladen ist, wenn ja wird die bestehende Speicherstellen zurückgeliefert, sonst wir eine Speicherstelle s j ausgewählt, zurück geschrieben, und mit x i geladen. Anforderung: im zweiten Fall, soll immer die älteste Speicherstelle zurückgeschrieben werden. Es sollen also immer die Ergebnisse der letzten S Retrieve(x i ) Aufrufe geladen sein, inklusive der Treffer aus dem ersten Fall. (least-recently-used (LRU) Page Replacement) Naive Methode: Die Speicherstellen mit Zeitstempel versehen. Alle zurückgelieferte Stellen werden gestempelt. Bei Retrieve(x i ) die Menge S einmal nach x i scannen und dabei die älteste Speicherstelle merken. 34 Timo Bingmann, Christian Schulz
88 Ein Erwartet O(1) Pager Hashtabelle nil nil nil nil nil nil x 4 1 x 8 2 x 6 3 x 2 4 nil nil x 1 6 x 9 5 nil Nach Retrieve(x i ) Folge x 4, x 8, x 6, x 2, x 9, x 1 nil 35 Timo Bingmann, Christian Schulz
89 next prev Ein Erwartet O(1) Pager Hashtabelle sentinel next prev x 4 1 nil next prev x 8 2 nil x 6 3 nil nil next prev x 2 4 nil nil nil prev next nil x 1 6 prev next x 9 5 nil Nach Retrieve(x i ) Folge x 4, x 8, x 6, x 2, x 9, x 1 nil 35 Timo Bingmann, Christian Schulz
90 next prev Ein Erwartet O(1) Pager Hashtabelle sentinel next prev x 4 1 nil next prev x 8 2 nil x 6 3 nil nil next prev x 2 4 nil nil nil prev next nil x 1 6 prev next x 9 5 nil Nach Retrieve(x i ) Folge x 4, x 8, x 6, x 2, x 9, x 1 Sentinel s next zeigt immer auf die älteste Speicherstelle, und prev auf die jüngste. nil 35 Timo Bingmann, Christian Schulz
91 next prev Ein Erwartet O(1) Pager Hashtabelle sentinel next prev x 4 1 nil next prev nil x 6 3 nil nil next prev x 2 4 nil nil nil prev next x 8 7 prev next x 1 6 prev next x 9 5 nil nil nil Nach Retrieve(x i ) Folge x 4, x 8, x 6, x 2, x 9, x 1, x 8 36 Timo Bingmann, Christian Schulz
92 next prev Ein Erwartet O(1) Pager Hashtabelle sentinel nil next prev nil x 6 3 nil nil next prev x 2 4 nil nil prev next x 3 8 x 8 7 prev next x 1 6 prev next x 9 5 nil nil nil nil Nach Retrieve(x i ) Folge x 4, x 8, x 6, x 2, x 9, x 1, x 8, x 3 37 Timo Bingmann, Christian Schulz
2. Übung Algorithmen I
1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Amortisierte Analyse Beispiel Binärzähler
Wie beim letzten Mal - bitte besucht: http://pingo.upb.de/549170 Ihr seid gleich wieder gefragt... Übung Algorithmen I 4.5.16 Lukas Barth [email protected] (Mit Folien von Julian Arz, Timo Bingmann,
Übung Algorithmen I
Übung Algorithmen I 10.5.17 Sascha Witt [email protected] (Mit Folien von Lukas Barth, Julian Arz, Timo Bingmann, Sebastian Schlag und Christoph Striecks) Roadmap Listen Skip List Hotlist Amortisierte
3. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Hashtabellen:
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
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
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
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
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
S7-Hantierungsbausteine für R355, R6000 und R2700
S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über
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.
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:
Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Suchbäume Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative
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
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
Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9
Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit
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
Lehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
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
Über Arrays und verkettete Listen Listen in Delphi
Über Arrays und verkettete Listen Listen in Delphi Michael Puff [email protected] 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Arrays 4 3 Einfach verkettete Listen 7 4 Doppelt verkettete
Sortierte Folgen 250
Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:
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
1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
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
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
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
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
OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer
OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer Inhalt Beschreibung... 2 Beginn der Nutzung... 2 OSF Integrator für Btracking und Salesforce... 3 1. Fügen Sie Rechnungs- und Versandadressen
Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:
Prozentrechnung Wir beginnen mit einem Beisiel: Nehmen wir mal an, ein Handy kostet 200 und es gibt 5% Rabatt (Preisnachlass), wie groß ist dann der Rabatt in Euro und wie viel kostet dann das Handy? Wenn
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
Ü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
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
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
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
Algorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
OPERATIONEN AUF EINER DATENBANK
Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:
KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN
KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: [email protected] Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume
4. Übung zu Algorithmen I 17. Mai 2017
4. Übung zu Algorithmen I 17. Mai 2017 Björn Kaidel [email protected] (mit Folien von Julian Arz, Timo Bingmann, Lisa Kohl, Christian Schulz, Sebastian Schlag und Christoph Striecks) Organisatorisches
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
20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem
20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte
Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1
Sortieren durch Einfügen Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Schon wieder aufräumen Schon wieder Aufräumen, dabei habe ich doch erst neulich man findet alles schneller wieder Bücher auf Regal
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
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
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
Programmieren I. Kapitel 7. Sortieren und Suchen
Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Informationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)
Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
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
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.
Kosten für ein Girokonto vergleichen 1. Was passt? Ordnen Sie zu. a. die Buchung, -en b. die Auszahlung, -en c. der Dauerauftrag, - e d. die Überweisung, -en e. die Filiale, -n f. der Kontoauszug, - e
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
Datenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume [email protected] 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?
Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung? BAF ist die Abkürzung von Bundes-Aufsichtsamt für Flugsicherung. Auf der Internetseite gibt es 4 Haupt-Bereiche:
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,
Grundlagen der Informatik
Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................
Internet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit
Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines
Wirtschaftsinformatik I
Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation
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)
Zählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
GOLDESEL-Schulung Referat 05 Finanzcontrolling
GOLDESEL-Schulung Referat 05 Finanzcontrolling www.finanzcontrolling.uni-bremen.de Axel Hauschild / Petra Schröder 218-60202 [email protected] [email protected] GOLDESEL - Excel Schulung 1 Evtl.
Leichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
ecaros2 - Accountmanager
ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf
Was ist Sozial-Raum-Orientierung?
Was ist Sozial-Raum-Orientierung? Dr. Wolfgang Hinte Universität Duisburg-Essen Institut für Stadt-Entwicklung und Sozial-Raum-Orientierte Arbeit Das ist eine Zusammen-Fassung des Vortrages: Sozialräume
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
Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter
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
Tragen Sie bitte im Anmeldefeld die Daten ein, die Sie von uns erhalten haben.
Online Katalog der Bildstelle Peine: http://nds-pe.datenbank-bildungsmedien.net/ Anmeldung: Klicken Sie bitte auf ganz rechts. Tragen Sie bitte im Anmeldefeld die Daten ein, die Sie von uns erhalten haben.
Satzhilfen Publisher Seite Einrichten
Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,
1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software
1. Software installieren 2. Software starten Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 3. Auswahl 1. Neues Fotobuch erstellen oder 2. ein erstelltes, gespeichertes Fotobuch laden und bearbeiten.
5.2 Neue Projekte erstellen
5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort
Festigkeit von FDM-3D-Druckteilen
Festigkeit von FDM-3D-Druckteilen Häufig werden bei 3D-Druck-Filamenten die Kunststoff-Festigkeit und physikalischen Eigenschaften diskutiert ohne die Einflüsse der Geometrie und der Verschweißung der
5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
Software Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
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
Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung
Seite 1 Inhalt Allgemein...3 Installation...3 manuelle Eingabe von alten und neuen Adressnummern...4 Vorbereiten von Adressnummern-Änderungen in Tabellen...5 Seite 2 Allgemein Das INKS-Modul ermöglicht
Vorkurs Informatik WiSe 15/16
Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner
Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz
Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz Die Parteien CDU, die SPD und die CSU haben versprochen: Es wird ein Bundes-Teilhabe-Gesetz geben. Bis jetzt gibt es das Gesetz noch nicht. Das dauert
Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel
Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein
Suchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
Die Post hat eine Umfrage gemacht
Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.
Programmiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
Teile und Herrsche Teil 2
Teile und Herrsche Teil 2 binär Suchen und schnell Multiplizieren Markus Fleck Manuel Mauky Hochschule Zittau/Görlitz 19. April 2009 Suchen in langen Listen (0, 1, 2, 7, 8, 9, 9, 13, 13, 14, 14, 14, 16,
Informationen zum Ambulant Betreuten Wohnen in leichter Sprache
Informationen zum Ambulant Betreuten Wohnen in leichter Sprache Arbeiterwohlfahrt Kreisverband Siegen - Wittgenstein/ Olpe 1 Diese Information hat geschrieben: Arbeiterwohlfahrt Stephanie Schür Koblenzer
HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN
HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN Zinsen haben im täglichen Geschäftsleben große Bedeutung und somit auch die eigentliche Zinsrechnung, z.b: - Wenn Sie Ihre Rechnungen zu spät
Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.
Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen
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
13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
Erstellen einer digitalen Signatur für Adobe-Formulare
Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist
Korrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
Fotos in Tobii Communicator verwenden
Fotos in Tobii Communicator verwenden Hier wird beschrieben wie man Fotos in Tobii Communicator verwenden kann und was man zur Nutzung beachten sollte. Fotonutzung in Tobii Communicator In einigen Fällen
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
Tutorial: Homogenitätstest
Tutorial: Homogenitätstest Eine Bank möchte die Kreditwürdigkeit potenzieller Kreditnehmer abschätzen. Einerseits lebt die Bank ja von der Vergabe von Krediten, andererseits verursachen Problemkredite
