Kapitel 4. Streuen. (h K injektiv) k 1 k 2 K = h(k 1 ) h(k 2 )

Größe: px
Ab Seite anzeigen:

Download "Kapitel 4. Streuen. (h K injektiv) k 1 k 2 K = h(k 1 ) h(k 2 )"

Transkript

1 Kapitel 4 Streuen Wir behandeln nun Ipleentationen ungeordneter Wörterbücher, in denen die Schlüssel ohne Beachtung ihrer Sortierreihenfolge gespeichert werden dürfen, verlangen aber, dass es sich bei den Schlüsseln u Zahlen handelt. Dies ist keine starke Voraussetzung, weil sich die Eleente anderer Schlüsseluniversen als Zahlen codieren lassen. Bezeichnungen: (Schlüssel-) Universu U N 0 Schlüsselenge K U, K = n Hashtabelle H[0,..., ] (Array von Zeigern auf Dateneleente) Durch eine Hashfunktion h : U {0,..., } wird jede zulässigen Schlüssel k U seine Speicherstelle H[h(k)] in der Hashtabelle H zugewiesen. I Idealfall gilt für die Menge K U der vorkoenden Schlüssel typisch in JAVA: Speicheradresse Object.hashCode hash (engl.): streuen k k 2 K = h(k ) h(k 2 ) (h K injektiv) weil Einfügen, Suchen und Löschen dann jeweils in Θ() realisiert werden können. 4. Beispiel (Hashfunktionen). h(k) = k od für Prizahl (Divisions- oder Kongruenzethode) 60

2 Algorithen und Datenstrukturen (WS 2008/09) 6 2. h(k) = (kα kα ) z.b. für α = φ = 5 0, 6803 goldener 2 Schnitt (Multiplikationsethode) Die n+ Intervalle nach Einfügen von,..., n haben nur 3 verschiedene Gröÿen; bei α = φ a ähnlichsten. 4. Kollisionen 4. I Allgeeinen ist allerdings h(k ) = h(k 2 ) für einige h, h 2 bezeichnen wir it Kollisionen, k, k 2 heiÿen Synonye. K. Dies p,n := P (keine Kollisionen) = 2... n+, falls Schlüssel durch h gleichäÿig gestreut werden, d.h. alle Positionen gleichwahrscheinlich sind. 4.2 Beispiel (Geburtstagsparadoxon) p 365,22 > 0.5 > p 365,23 Anschauliche Deutung: bei 23 oder ehr Personen ist die Wahrscheinlichkeit, dass zwei a gleichen Tag Geburtstag haben, gröÿer als die Wahrscheinlichkeit, dass alle an verschiedenen Tagen Geburtstag haben. Herleitung: p,n = n i=0 i Für welches n ist p,n /2? = n i= ( i ) n i= e i/ = e P n i= i = e (n 2)/ e (n 2)/ = 2 ( ) n 2 / = ln 2 ( ) n = ln 2 2 n(n ) 2 n 2(ln 2) ( für = 365)

3 Algorithen und Datenstrukturen (WS 2008/09) 62 Erwartete Anzahl Kollisionen Sei { falls h(ki ) = h(k X ij = j ) (Kollision von k i, k j ) 0 sonst Bei gleichäÿiger Streuung ist E(X ij ) = / für i j. ( ) E(X) = E X ij = E(X ij ) = / = i<j i<j i<j I Beispiel war = 365, soit gilt hier { < für n < 27 E(X) = für n 27 I Allgeeinen gilt also etwa bei n 2. E(X) n(n ) 2, 4.3 Def inition (Belegungsfaktor) Wir denieren den Belegungsfaktor (load factor) als β = n. ( ) n / 2 entscheidend für Nutzen? Erwartete Anzahl leerer Felder? Eleent k K steht nicht an Position i {0,..., } it Wahrscheinlichkeit =. Die Wahrscheinlichkeit, dass Position i nicht belegt ist, ist dait [ ] β P (i / {h(k ),..., h(k n )}) = ( )n = ( ) e β }{{} e / { 0 H[i] belegt = E(X i ) für X i = H[i] frei E(X) = E( X i ) = E(X i ) = e β = e β. Die erwartete Anzahl belegter Einträge ist e β = ( e β ). β = /2 : e / Belegung 39% β = : e 0.63 Belegung 63%

4 Algorithen und Datenstrukturen (WS 2008/09) Kollisionsbehandlung 4.2. Verkettung Idee Die Hashtabelle wird als Array von Zeigern auf Listen ipleentiert, wobei die Listen alle Schlüssel it gleiche Hashfunktionswert enthalten. 4.4 Beispiel (h(k) = k od p) 0 p H : 4.5 Def inition (Sondieren) Wenn die Hashtabelle über Verkettung realisiert wird, nden bei find eventuell ehrere Zugrie auf Zeiger statt (Sondieren). U die Anzahl der Sondierschritte zu analysieren, denieren wir A(, n) := ittlere Anzahl bei erfolgreicher Suche. A (, n) := ittlere Anzahl, falls Schlüssel nicht in der Hashtabelle ist. Wir gehen wieder davon aus, dass für das verwendete Modell P (h(k) = i) = k U, i {0,..., } gilt.

5 Algorithen und Datenstrukturen (WS 2008/09) 64 Die ittlere Länge der Listen ist gerade der Belegungsfaktor β = n [0, ). Also ist A (, n) = + β = + n. Zu A(, n): Die Suche nach k i ergibt genau die Sondierungen wie bei Einfügen von k i, wenn vorher k,..., k i eingefügt wurden. I Mittel ist dait A(, n) = n n i=0 A (, i) = n n i=0 ( + i ) = + n n i=0 i = + (n ) n = + β + β 2n Statistische Eigenschaften Sei β = (n = ). Dann sind 63% der Hashtabelle T besetzt, 37% sind frei (s.o.). Wie groÿ uss n i Mittel sein, dait alle Plätze in T belegt sind? Coupon Collector Proble Sei (k i ) i=,2,3,..., k i U die Folge in T einzufügender Schlüssel. Sei (i) die Anzahl belegter Plätze nach Einfügen von k,..., k i und sei i k := in{i (i) = k}, d.h. Einfügen von k ik belegt erstals den k-ten Platz in T. Index k Wir betrachten eine Zufallsvariable X it X k = X = i k i k k= X k Dann ist die gesuchte Zahl für n gerade E[X]. i : k k 2 k 3 k 4 k 5 k k (i) i i 2 i 3 i 4 i 5 i i X X 2 X 3 X 4 X 5 X X etwas unglücklich bei k für key Sei i k i < i k. Dann ist p k := E[X k ] = p k E[X] = P (i + = i k ) = k+ E[ X k] = = k= E[X k] = = H k ln k+

6 Algorithen und Datenstrukturen (WS 2008/09) 65 I Mittel sind also n = ln Einfügeoperationen notwendig, u alle Positionen in der Hashtabelle zu füllen. Dann ist β = ln = ln > Open Hashing Idee In jede Feld der Hashtabelle H wird nur ein Eleent gespeichert (daher β ). Füge Schlüssel k ein: h(k ) = i, H[i] = k. Füge Schlüssel k 2 ein (Kollision): h(k 2 ) = i, H[i] besetzt. Finde freien Platz in H. Wähle eine Folge (d i ) i=,2,..., d i Z und teste H[(h(k) + d i ) od ], i =, 2, 3,... Für die Folge (d i ) i gibt es verschiedene Wahlen: lineares Sondieren: d i = i quadratisches Sondieren: d i = i 2 double Hashing: d i = i h (k), wobei h : U {,..., } eine zweite Hashfunktion ist it h (k) 0 k U. Hier sollte pri sein! Waru? 4.6 Proble Einfügen und Suchen ist dait klar, Löschen ist aber ein Proble. Index h? bei 4.7 Beispiel Sei h(k) = h(k ) = i und füge k, k ein: H : k k i i + Lösche dann k. Anschlieÿend versagt die Suche nach k! Lösung: arkiere gelöschte Schlüssel als gelöscht

7 Algorithen und Datenstrukturen (WS 2008/09) 66 bei Suche werden sie behandelt wie belegte Felder bei Einfügen wie freie Felder ungünstig, wenn oft Eleente gelöscht werden, da die Suche verteuert. 4.8 Proble Clusterbildung 4.9 Beispiel (lineares Sondieren) H : i i + Nächster einzufügender Schlüssel: k U P (h(k) = i + ) = P (h(k) = i) = 5 } Cluster wachsen tendentiell Analyse lineares Sondieren double Hashing A ( + ) A ln( 2 β β A ( + ) A 2 ( β) 2 β β ) Beweis. lineares Sondieren: schwer, s. Schöning S Referenz double Hashing: (idealisierende) Annahe: Sondierungen h (k), h 2 (k),... zur erfolglosen Suche von k it P (H[h i (k)] ist frei) = n = β E[Anzahl Sondierungen bis freies Feld gefunden] = β

8 Algorithen und Datenstrukturen (WS 2008/09) 67 Also A (n, ) = β. A(n, ) = n n i=0 A (, i) = n n i=0 = i n = β ( n+ + + ) = β (H H n ) β (ln ln( n)) = β ln n = β ln β n i=0 i 4.3 Kollisionsvereidung 4.3. Streufunktionen Ziel gleichäÿige Streuung durch Hashfunktion, wie in der Berechnung der Kollisionswahrscheinlichkeiten unterstellt. Proble Wir wissen nicht, welche Schlüssel K U gespeichert werden. Schlistenfalls ist h(k ) = H(k 2 ) k, k 2 K Sondieren bei Suche entspricht linearer Suche O(n). Schlüsselengen K U führen zu sehr verschiedenen Laufzeiten. Versuche daher, die Wahrscheinlichkeit für schlechtes Laufzeitverhalten besser auf diese zu verteilen. Idee Wähle aus einer Menge von Hashfunktionen zufällig eine aus. H {h : U {0,..., }} Universelles Streuen 4.0 Def inition (universelles Streuen) Eine Failie von Streufunktionen H {h : U {0,..., }} heiÿt universell, falls H {h H : h(k ) = h(k 2 )} k, k 2 U.

9 Algorithen und Datenstrukturen (WS 2008/09) 68 Bei zufälliger Wahl h H sind wir dann berechtigt, P (h(k ) = h(k 2 )) = anzunehen. 4. Satz Ist H universell, dann ist für k {k,..., k n } = K U bei zufällig gewählte h H die erwartete Anzahl Kollisionen gerade n = β. Beweis. Sei C ij eine Zufallsvariable it { h(ki ) = h(k C ij = j ) 0 sonst Da H universell ist, ist P (C ij = ) = E k j K\{k i } C ij = k j K\{k i }, und es folgt für k = k i E(C ij ) K = β. Die erwartete Anzahl Kollisionen entspricht dann also wie erhot de Belegungsfaktor β. 4.2 Satz Die Failie von Streufunktionen H p = {(ak + b od p) od : 0 < a < p, 0 b < p}, p pri, p > ist universell. Beweis. Sei h a,b H p it h a,b (k) = (ak + b od p) od. Betrachte zunächst für k, k {0,..., p } r = (ak + b) s = (ak + b) od p od p Dann ist r s }{{} a (k k ) od p, also r s falls k k, weil p pri ist. 0 Es gibt also zunächst keine Kollisionen der Zahlen {0,..., p }, sondern diese werden nur perutiert.

10 Algorithen und Datenstrukturen (WS 2008/09) 69 Auÿerde liefert jede der (p ) p Wahlen für (a, b) ein anderes Paar r s, denn gegeben r s können wir nach a = (r s) (k k ) }{{} Inverses bzgl. Z p b = (r ak) od p od p auösen. Weil es aber auch nur p(p ) Paare (r, s) it r s gibt, liegt eine Bijektion vor. Werden a, b zufällig gewählt, dann erhalten wir also auch jedes Paar r s {0,..., p } it gleicher Wahrscheinlichkeit. Die Kollisionswahrscheinlichkeit von k k U entspricht dait der Wahrscheinlichkeit, dass r s od für zufällig gewählte r s {0,..., p }. Für festes r ist die Anzahl der s it r s und r s od höchstens p p + = p und wegen der zufälligen Wahl aus den p öglichen s r ist die Kollisionswahrscheinlichkeit für k k U höchstens. Also ist H p universell. Wir wollen nun noch eine andere universelle Failie von Streufunktionen betrachten. Annahe U besteht aus Bitstrings fester Länge, ist pri. Zerlege K U in Blöcke der Länge log k : k r k k 0 0 k i <, i = 0,..., r Wir denieren die Menge von Hashfunktionen H B = {h a : U {0,..., }} durch ( r ) h a (k) = a i k i od i=0 wobei a = (a r,..., a 0 ) {0,..., } r+. Dait gilt H B = r+.

11 Algorithen und Datenstrukturen (WS 2008/09) Satz H B ist universell. Beweis. Seien k k U, dann k i k i für ein i {0,..., r}. OBdA. sei i = 0. Für ein h a H B gilt dann h a (k) = h a (k ) r a i k i i=0 r a i k i i=0 a 0 (k 0 k 0) od r a i (k i k i ) i= a 0 (k 0 k 0) }{{} ult. Inv. in (Z,+, ) od r a i (k i k i ) i= od Für alle Wahlen von (a r,..., a ) {0,..., } r a 0 {0,..., } it h a (k) = h a (k ). Also gilt existiert genau ein P (Kollision k k ) = {a : h a(k) = h a (k )} H B = r r+ =. 4.4 Ausblick viele andere Techniken zur Kollisionsbehandlung, z.b. Cuckoo-Hashing. viele andere Techniken zur Konstruktion von Hashfunktionen, z.b. perfektes Hashing (für statische Schlüsselengen). viele andere Anwendungen, z.b. Bloo-Filter.. s. Übung

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2015/16 12. Vorlesung Hashing Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Übungen Begründen Sie grundsätzlich alle Behauptungen außer die Aufgabe

Mehr

Suchen in Listen und Hashtabellen

Suchen in Listen und Hashtabellen Kapitel 12: Suchen in Listen und Hashtabellen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Einleitung Lineare Suche Binäre Suche (in sortierten Listen) Hashverfahren

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 5, Donnerstag, 20.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015. Vorlesung 5, Donnerstag, 20. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 5, Donnerstag, 20. November 2014 (Wie baut man eine Hash Map, Universelles Hashing)

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

6-1 A. Schwill Grundlagen der Programmierung II SS 2005

6-1 A. Schwill Grundlagen der Programmierung II SS 2005 6-1 A. Schwill Grundlagen der Programmierung II SS 25 6. Suchen Suchen = Tätigkeit, in einem vorgegebenen Datenbestand alle Objekte zu ermitteln, die eine best. Bedingung, das Suchkriterium, erfüllen und

Mehr

Suchen und Sortieren Sortieren. Heaps

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

Mehr

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind. Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher

Mehr

Einführung in die Informatik Hashtables

Einführung in die Informatik Hashtables Einührung in die Inormatik Hashtables Hashtabellen Wolram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben bisher einige der typischen Datenstrukturen zum Speichern von Inormationen kennen gelernt Arrays

Mehr

Kapitel 9. Hashverfahren. 9.1 Einführung

Kapitel 9. Hashverfahren. 9.1 Einführung Kapitel 9 Hashverfahren 9.1 Einführung Uns sind bereits Verfahren bekannt, mit denen Datensätze mit einem eindeutigen Schlüssel gespeichert werden (z.b. B*-Bäume). Statt bei der Suche nach einem Schlüssel

Mehr

Programmiertechnik II

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

Mehr

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

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.

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006

Mehr

Algorithmen & Datenstrukturen 1. Klausur

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

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

Faktorisierung ganzer Zahlen mittels Pollards ρ-methode (1975)

Faktorisierung ganzer Zahlen mittels Pollards ρ-methode (1975) Dass das Problem, die Primzahlen von den zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren zu zerlegen zu den wichtigsten und nützlichsten der ganzen Arithmetik gehört und den Fleiss

Mehr

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

Mehr

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = + Definition Gnutella Ein -to--netzwerk ist ein Kommunikationsnetzwerk zwischen Rechnern, in dem jeder Teilnehmer sowohl Client als auch Server- Aufgaben durchführt. Beobachtung: Das Internet ist (eigentlich

Mehr

Kap. 4.2: Binäre Suchbäume

Kap. 4.2: Binäre Suchbäume Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

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.

Mehr

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

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen 9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel

Mehr

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011

Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011 Mitschrift Vorlesung Einführung in die Kryptographie vom 18. Januar 2011 Dominic Scheurer 6. Februar 2012 Inhaltsverzeichnis 30 Digitale Signaturen (cont'd) - One-Time-Signaturen (OTS) 1 31 Public-Key-Verschlüsselung

Mehr

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

Mehr

3. Übung Algorithmen I

3. Übung Algorithmen I 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

Mehr

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

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

Mehr

Datenstrukturen in Java

Datenstrukturen in Java Datenstrukturen in Java SEP 350 Datenstrukturen Datenstrukturen ermöglichen Verwaltung von / Zugriff auf Daten (hier: Objekte) Datenstrukturen unterscheiden sich duch Funktionalität Implementierung modulares

Mehr

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen

8: Zufallsorakel. Wir suchen: Einfache mathematische Abstraktion für Hashfunktionen Stefan Lucks 8: Zufallsorakel 139 Kryptogr. Hashfunkt. (WS 08/09) 8: Zufallsorakel Unser Problem: Exakte Eigenschaften von effizienten Hashfunktionen nur schwer erfassbar (z.b. MD5, Tiger, RipeMD, SHA-1,...)

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

1 Ordnung muß sein. 1.1 Angeordnete Körper. 1.2 Folgerungen aus den Anordnungsaxiomen. ( c) (b a) > 0. Somit a c b c > 0.

1 Ordnung muß sein. 1.1 Angeordnete Körper. 1.2 Folgerungen aus den Anordnungsaxiomen. ( c) (b a) > 0. Somit a c b c > 0. 1 Ordnung uß sein 1.1 Angeordnete Körper Wir nehen einal an, daß es in eine Körper Eleente gibt, die wir positiv nennen. Welche Eigenschaften sollen diese haben? O1) Wenn x und y positiv sind, dann auch

Mehr

Sortierte Folgen 250

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:

Mehr

Erinnerung/Zusammenfassung zu Abbildungsmatrizen

Erinnerung/Zusammenfassung zu Abbildungsmatrizen Erinnerung/Zusammenfassung zu Abbildungsmatrizen Thomas Coutandin (cthomas@student.ethz.ch) 7. November 2 Abbildungsmatrizen Im Folgenden betrachten wir stets endlich dimensionale K-Vektorräume (K irgend

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

Digitale Magazine ohne eigenen Speicher

Digitale Magazine ohne eigenen Speicher Stefan Lucks Digitale Magazine ohne eigenen Speicher 1 Digitale Magazine ohne eigenen Speicher Wie man die Integrität fremdgespeicherter Archivalien sicherstellen kann Stefan Lucks Professur für Mediensicherheit

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 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/ws0809

Mehr

1. Grundlagen... 2. 2. Sortieren... 6. 1.1. Vertauschen... 13. 1.2. Selektion... 16. 1.3. Einfügen... 19. 1.4. Quicksort... 22. 3. Suchen...

1. Grundlagen... 2. 2. Sortieren... 6. 1.1. Vertauschen... 13. 1.2. Selektion... 16. 1.3. Einfügen... 19. 1.4. Quicksort... 22. 3. Suchen... Suchen und Sortieren In diesem Kapitel behandeln wir Algorithmen zum Suchen und Sortieren Inhalt 1. Grundlagen... 2 2. Sortieren... 6 1.1. Vertauschen... 13 1.2. Selektion... 16 1.3. Einfügen... 19 1.4.

Mehr

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

Urbild Angriff auf Inkrementelle Hashfunktionen

Urbild Angriff auf Inkrementelle Hashfunktionen Urbild Angriff auf Inkrementelle Hashfunktionen AdHash Konstruktion: (Bellare, Micciancio 1997) Hashe Nachricht x = (x 1,..., x k ) als H(x) = k i=1 h(i, x i) mod M. Inkrementell: Block x i kann leicht

Mehr

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon

Mehr

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Studiengang Bachelor of Computer Science Modulprüfung Praktische Informatik 1 Wintersemester 2010 / 2011 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise: 1.) Schreiben Sie Ihren Namen und

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Beispiel vor dem Beweis:

Beispiel vor dem Beweis: Beispiel vor dem Beweis: Beispiel vor dem Beweis: A = ¼3 6 2 3 11 2½ Beispiel vor dem Beweis: 2½ 2½ ¼3 6 A = 2 3 11 311 E 12 A = 3 6 Beispiel vor dem Beweis: 2½ 2½ ¼3 6 A = 2 3 11 311 E 12 A = 3 6 3 11

Mehr

PageRank-Algorithmus

PageRank-Algorithmus Proseminar Algorithms and Data Structures Gliederung Gliederung 1 Einführung 2 PageRank 3 Eziente Berechnung 4 Zusammenfassung Motivation Motivation Wir wollen eine Suchmaschine bauen, die das Web durchsucht.

Mehr

AquaZIS. Zeitreihenkorrektur

AquaZIS. Zeitreihenkorrektur AquaZIS Zeitreihenkorrektur Aachen, Juli 2013 aqua_plan Ingenieurgesellschaft für Problemlösungen in Hydrologie und Umweltschutz mbh Amyastr. 126, 52066 Aachen Tel.: 0241 40070-0, Fax: 0241 40070-99 Geschäftsführer:

Mehr

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Lösungsvorschläge. zu den Aufgaben im Kapitel 4 Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere

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

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

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

RSA Full Domain Hash (RSA-FDH) Signaturen

RSA Full Domain Hash (RSA-FDH) Signaturen RSA Full Domain Hash (RSA-FDH) Signaturen Signatur RSA-FDH Sei H : {0, 1} Z N ein Random-Oracle. 1 Gen: (N, e, d) GenRSA(1 n ) mit pk = (N, e) und sk = (N, d). 2 Sign: Für eine Nachricht m {0, 1} berechne

Mehr

DATENSTRUKTUREN UND ZAHLENSYSTEME

DATENSTRUKTUREN UND ZAHLENSYSTEME DATENSTRUKTUREN UND ZAHLENSYSTEME RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: ralf@cs.uu.nl Homepage: http://www.cs.uu.nl/~ralf/ March, 2001 (Die Folien finden

Mehr

Programmieren in Haskell

Programmieren in Haskell Programmieren in Haskell Felder (Arrays) Programmieren in Haskell 1 Was wir heute machen Motivationsbeispiel Die Typklasse Ix Felder in Haskell Funktionstabellierung Binäre Suche Pascalsches Dreieck Ein

Mehr

2. Universelle Algebra

2. Universelle Algebra 2. Universelle Algebra Die Theorie der universellen Algebra verallgemeinert die Theorien der klassischen Algebren. Obwohl ursprünglich nur eine Sorte betrachtet wurde, werden wir hier gleich den mehrsortigen

Mehr

E-Mails zuordnen. Änderungen, Irrtümer und Druckfehler vorbehalten. Bearbeitet von Harald Borges. Stand April 2015 www.cobra.de

E-Mails zuordnen. Änderungen, Irrtümer und Druckfehler vorbehalten. Bearbeitet von Harald Borges. Stand April 2015 www.cobra.de E-Mails zuordnen Copyright 2015 cobra computer s brainware GmbH cobra Adress PLUS, cobra CRM PLUS, cobra CRM PRO und cobra CRM BI sind eingetragene Warenzeichen der cobra computer s brainware GmbH. Andere

Mehr

Einführung in die Informatik 1

Einführung in die Informatik 1 Einführung in die Informatik 1 Datenorganisation und Datenstrukturen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit

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

Mehr

Dateiorganisation und Zugriffsstrukturen

Dateiorganisation und Zugriffsstrukturen Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

Mehr

IT-Sicherheit - Sicherheit vernetzter Systeme -

IT-Sicherheit - Sicherheit vernetzter Systeme - IT-Sicherheit - Sicherheit vernetzter Systeme - Kapitel 7: Kryptographische Hash-Funktionen Wolfgang Hommel, Helmut Reiser, LRZ, WS 13/14 IT-Sicherheit 1 Inhalt Definition: Kryptographische Hash-Verfahren

Mehr

Suchen und Sortieren

Suchen und Sortieren (Folie 69, Seite 36 im Skript) 5 6 1 4 Als assoziatives Array geeignet Schlüssel aus geordneter Menge Linke Kinder kleiner, rechte Kinder größer als Elternknoten Externe und interne Knoten Externe Knoten

Mehr

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Alignment-Verfahren zum Vergleich biologischer Sequenzen zum Vergleich biologischer Sequenzen Hans-Joachim Böckenhauer Dennis Komm Volkshochschule Zürich. April Ein biologisches Problem Fragestellung Finde eine Methode zum Vergleich von DNA-Molekülen oder Proteinen

Mehr

Leitfaden Lineare Algebra: Determinanten

Leitfaden Lineare Algebra: Determinanten Leitfaden Lineare Algebra: Determinanten Die symmetrische Gruppe S n. Eine Permutation σ der Menge S ist eine bijektive Abbildung σ : S S. Ist S eine endliche Menge, so reicht es zu verlangen, dass σ injektiv

Mehr

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen:

- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen: 6 Partiell geordnete binäre Bäume: Heap (Haufen) Motivation für manchen Anwendungen nur partielle Ordnung der Elemente statt vollständiger nötig, z.b. - Prioritätsschlange: nur das minimale (oder maximale)

Mehr

Algorithmen. Consistent Hashing Bloom Filter MapReduce. Distributed Hash Tables. Einführung 1

Algorithmen. Consistent Hashing Bloom Filter MapReduce. Distributed Hash Tables. Einführung 1 Algorithmen Consistent Hashing Bloom Filter MapReduce Distributed Hash Tables Einführung 1 Consistent Hashing Problem: Wie finde ich den Speicherort für ein Objekt in einem verteilten System mit n Knoten?

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

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

Mehr

4 Algorithmen und Datenstrukturen

4 Algorithmen und Datenstrukturen 4 Algorithmen und Datenstrukturen Algorithmen sind Verfahren zur schrittweisen Lösung von Problemen. Sie können abstrakt, d.h. unabhängig von konkreten Rechnern oder Programmiersprachen, beschrieben werden.

Mehr

Betriebsarten für Blockchiffren

Betriebsarten für Blockchiffren Betriebsarten für Blockchiffren Prof. Dr. Rüdiger Weis TFH Berlin Sommersemester 2008 Betriebsarten für Blockchiffren Was ist eine Betriebsart (engl. Mode of Operation )? Blockchiffre wird genutzt, um

Mehr

Algorithmen und Datenstrukturen Suchbaum

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

Mehr

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?

Mehr

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Bearbeitungszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,

Mehr

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

In beiden Fällen auf Datenauthentizität und -integrität extra achten. Stromchiffren Verschlüsseln eines Stroms von Daten m i (Bits/Bytes) mithilfe eines Schlüsselstroms k i in die Chiffretexte c i. Idee: Im One-Time Pad den zufälligen Schlüssel durch eine pseudo-zufällige

Mehr

RSA Full Domain Hash (RSA-FDH) Signaturen

RSA Full Domain Hash (RSA-FDH) Signaturen RSA Full Domain Hash (RSA-FDH) Signaturen Signatur RSA-FDH Sei H : {0, 1} Z N ein Random-Oracle. 1 Gen: (N, e, d) GenRSA(1 n ) mit pk = (N, e) und sk = (N, d). 2 Sign: Für eine Nachricht m {0, 1} berechne

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

Kademlia A Peer-to-peer Information System based on the XOR Metric

Kademlia A Peer-to-peer Information System based on the XOR Metric Kademlia A Peer-to-peer Information System based on the XOR Metric Martynas Ausra 12.5.2007 Zusammenfassung Das Kademlia-Protokoll wurde im Jahr 2002 an New York University von Petar Maymounkov und David

Mehr

Coupon Collector's-Problem (Sammelbilderproblem) Name: Walter Wolf Matrikelnr.: 533440 Dozent: Dr. W. Kössler

Coupon Collector's-Problem (Sammelbilderproblem) Name: Walter Wolf Matrikelnr.: 533440 Dozent: Dr. W. Kössler Coupon Collector's-Problem (Sammelbilderproblem) Name: Walter Wolf Matrikelnr.: 533440 Dozent: Dr. W. Kössler Problemstellung Als Sammelbilderproblem bezeichnet man die Frage, wie viele Produkte bzw. Bilder

Mehr

Präfx Trie zur Stringverarbeitung. Cheng Ying Sabine Laubichler Vasker Pokhrel

Präfx Trie zur Stringverarbeitung. Cheng Ying Sabine Laubichler Vasker Pokhrel Präfx Trie zur Stringverarbeitung Cheng Ying Sabine Laubichler Vasker Pokhrel Übersicht: Einführung Eigenschaften von Tries Verwendung von Tries Allgemeine Defnition von Patricia Tries Eigenschaften von

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Ü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

Mehr

Codes und Codegitter. Katharina Distler. 27. April 2015

Codes und Codegitter. Katharina Distler. 27. April 2015 Codes und Codegitter Katharina Distler 7. April 015 Inhaltsverzeichnis 1 Codes 4 Codegitter 14 Einleitung Die folgende Seminararbeit behandelt das Konzept von Codes und Codegittern. Da sie bei der Informationsübertragung

Mehr

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.

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

Mehr

Software ubiquitärer Systeme

Software ubiquitärer Systeme Software ubiquitärer Systeme 13. Übung Constantin Timm Arbeitsgruppe Entwurfsautomatisierung für Eingebettete Systeme Lehrstuhl für Informatik 12 TU Dortmund constantin.timm@cs.tu-dortmund.de http://ls12-www.cs.tu-dortmund.de/staff/timm/

Mehr

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 6 Kryptographie und Sicherheit 1. Kryptographische Hashfunktionen 2. Passwörter und Identifikation 3. Digitale Signaturen 4. Secret Sharing 5. Anwendungen und Ausblick

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

Allgemein. Einrichtung. PHOENIX Tool WinUser2PHOENIXUser. Version: 3.5.2 Stand: 2013-04-16

Allgemein. Einrichtung. PHOENIX Tool WinUser2PHOENIXUser. Version: 3.5.2 Stand: 2013-04-16 PHOENIX Tool WinUser2PHOENIXUser Version: 3.5.2 Stand: 2013-04-16 Allgemein Das Tool ermöglicht es, Benutzerinformationen aus dem Windows Active Directory (AD) in den PHOENIX zu importieren. Dabei können

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden

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

Didaktik der Algebra Jürgen Roth Didaktik der Algebra 4.1

Didaktik der Algebra Jürgen Roth Didaktik der Algebra 4.1 Didaktik der Algebra 4.1 Didaktik der Algebra Didaktik der Algebra 4.2 Inhalte Didaktik der Algebra 1 Ziele und Inhalte 2 Terme 3 Funktionen 4 Gleichungen Didaktik der Algebra 4.3 Didaktik der Algebra

Mehr

Vorkurs Informatik WiSe 15/16

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

Mehr

Mathematik I Internationales Wirtschaftsingenieurwesen

Mathematik I Internationales Wirtschaftsingenieurwesen Mathematik I Internationales Wirtschaftsingenieurwesen Integralrechnung 03.12.08 Das unbestimmte Integral/Stammfunktion Das bestimmte Integral/Flächenberechnung Integral als Umkehrung der Ableitung Idee:

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

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Modelle und Statistiken

Modelle und Statistiken Kapitel 4 Modelle und Statistiken In letzter Zeit werden vermehrt Parameter (Gradfolgen, Kernzahlfolgen, etc.) empirischer Graphen (Internet, WWW, Proteine, etc.) berechnet und diskutiert. Insbesondere

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

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

OPERATIONEN AUF EINER DATENBANK

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:

Mehr

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007 Graphentheorie Rainer Schrader Organisatorisches Zentrum für Angewandte Informatik Köln 23. Oktober 2007 1 / 79 2 / 79 Organisatorisches Organisatorisches Dozent: Prof. Dr. Rainer Schrader Weyertal 80

Mehr

1 Visual Basic for Application mit Excel (VBA)

1 Visual Basic for Application mit Excel (VBA) Informatikfreikurs WS 2008/2009 1 1 Visual Basic for Application mit Excel (VBA) 1.1 Mosaik Puzzle Das untenstehende Zahlenschema ist ein sogenanntes Mosaik Puzzle. Jede Zahl zeigt an, wie viele der (höchstens

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme Sei K ein Körper, a ij K für 1 i m, 1 j n. Weiters seien b 1,..., b m K. Dann heißt a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2... a m1

Mehr