14. Hashing. Motivation. Naive Ideen. Bessere Idee? k(s) = s i b i
|
|
- Ingelore Abel
- vor 6 Jahren
- Abrufe
Transkript
1 Motivation 14. Hashing Hash Tabellen, Geburtstagsparadoxon, Hashfunktionen, Perfektes und universelles Hashing, Kollisionsauflösung durch Verketten, offenes Hashing, Sondieren [Ottan/Widayer, Kap , 4.3.4, Coren et al, Kap ] Ziel: Tabelle aller n Studenten dieser Vorlesung Anforderung: Schneller Zugriff per Nae Naive Ideen Zuordnung Nae s = s 1 s 2... s ls zu Schlüssel k(s) = l s i=1 s i b i b gross genug, so dass verschiedene Naen verschiedene Schlüssel erhalten. Speichere jeden Datensatz an seine Index in eine grossen Array. Beispiel, it b = 100. Ascii-Werte s i. Anna Jacqueline Bessere Idee? Allokation eines Arrays der Länge ( > n). Zuordnung Nae s zu ( ls ) k (s) = s i b i od. i=1 Verschiedene Naen können nun denselben Schlüssel erhalten ( Kollision ). Und dann? Unrealistisch: erfordert zu grosse Arrays
2 Abschätzung Abschätzung Annahe: Urnen, n Kugeln (obda n ). n Kugeln werden gleichverteilt in Urnen gelegt. Vielleicht passieren Kollisionen ja fast nie. Wir schätzen ab... Wie gross ist die Kollisionswahrscheinlichkeit? Sehr verwandte Frage: Bei wie vielen Personen (n) ist die Wahrscheinlichkeit, dass zwei a selben Tag ( = 365) Geburtstag haben grösser als 50%? Abschätzung P(keine Kollision) = 1 n+1 =! ( n)!. Sei a. Mit e x = 1 + x + x2 2! +... approxiiere 1 a e a. Dait: 1 ( 1 1 ) Es ergibt sich ( 1 2 ) (... 1 n 1 ) e 1+ +n 1 P(Kollision) = 1 e n(n 1) 2. = e n(n 1) 2. Auflösung zu Geburtstagsparadoxon: Bei 23 Leuten ist die Wahrscheinlichkeit für Geburstagskollision 50.7%. Zahl Mit Füllgrad Mit Füllgrad α := n/ ergibt sich (weiter vereinfacht) P(Kollision) 1 e α2 2. P(Kollision) % 5% 20% Der axiale Füllgrad sollte sich an n 2 / orientieren. stat von der leicht besseren Approxiation via Stirling Forel
3 Noenklatur Beispiele guter Hashfunktionen Hashfunktion h: Abbildung aus der Menge der Schlüssel K auf die Indexenge {0, 1,..., 1} eines Arrays (Hashtabelle). h : K {0, 1,..., 1}. Meist K. Es gibt also k 1, k 2 K it h(k 1 ) = h(k 2 ) (Kollision). Eine Hashfunktion sollte die Menge der Schlüssel öglichst gleichässig auf die Positionen der Hashtabelle verteilen. h(k) = k od, Prizahl h(k) = (k r k r ), r irrational, besonders gut: r = Perfektes Hashing Ist i Vorhinein die Menge der verwendeten Schlüssel bekannt? Dann kann die Hashfunktion perfekt gewählt werden. Die praktische Konstruktion ist nicht-trivial. Beispiel: Tabelle der Schlüsselwörter in eine Copiler. Universelles Hashing K > Menge ähnlicher Schlüssel kann ier so gewählt sein, so dass überdurchschnittlich viele Kollisionen entstehen. Unöglich, einzelne für alle Fälle beste Hashfunktion auszuwählen. Jedoch öglich 15 : randoisieren! Universelle Hashklasse H {h : K {0, 1,..., 1}} ist eine Failie von Hashfunktionen, so dass k 1 k 2 K : {h H h(k 1 ) = h(k 2 )} 1 H. 15 Ähnlich wie bei Quicksort
4 Universelles Hashing Universelles Hashing Theore Eine aus einer universellen Klasse H von Hashfunktionen zufällig gewählte Funktion h H verteilt i Erwartungswert eine beliebige Folge von Schlüsseln aus K so gleichässig wie nur öglich auf die verfügbaren Plätze. Vorbeerkung zu Beweis des Theores. Definiere it x, y K, h H, Y K: { 1, falls h(x) = h(y), x y δ(x, y, h) = 0, sonst, δ(x, Y, h) = y Y δ(x, y, h), δ(x, y, H) = h H δ(x, y, h). H ist universell, wenn für alle x, y K, x y : δ(x, y, H) H / Universelles Hashing Universelles Hashing ist relevant! Beweis des Theores S K: bereits gespeicherte Schlüssel. x wird hinzugefügt: E H (δ(x, S, h)) = h H δ(x, S, h)/ H = 1 H = 1 H 1 H h H y S δ(x, y, H) y S y S δ(x, y, h) = 1 H H / = S. δ(x, y, h) y S h H 380 Sei p Prizahl und K = {0,..., p 1}. Mit a K \ {0}, b K definiere h ab : K {0,..., 1}, h ab (x) = ((ax + b) od p) od. Dann gilt Theore Die Klasse H = {h ab a, b K, a 0} ist eine universelle Klasse von Hashfunktionen. 381
5 Behandlung von Kollisionen Beispiel = 7, K = {0,..., 500}, h(k) = k od. Schlüssel 12, 53, 5, 15, 2,, 43 Verkettung der Überläufer Behandlung von Kollisionen Beispiel = 7, K = {0,..., 500}, h(k) = k od. Schlüssel 12, 53, 5, 15, 2,, 43 Direkte Verkettung der Überläufer Hashtabelle Hashtabelle Überläufer 43 5 Überläufer Algorithen zu Hashing it Verkettung search(k) Durchsuche Liste an Position h(k) nach k. Gib wahr zurück, wenn gefunden, sonst falsch. insert(k) Prüfe ob k in Liste an Position h(k). Falls nein, füge k a Ende der Liste ein. delete(k) Durchsuche die Liste an Position h(k) nach k. Wenn Suche erfolgreich, entferne das entsprechende Listeneleent. Analyse (direkt verkettete Liste) 1 Erfolglose Suche. Durchschnittliche Listenlänge ist α = n. Liste uss ganz durchlaufen werden. Durchschnittliche Anzahl betrachteter C n = α. 2 Erfolgreiche Suche. Betrachten die Einfügehistorie: Schlüssel j sieht durchschnittliche Listenlänge (j 1)/. Durchschnittliche Anzahl betrachteter C n = 1 n n (1 + (j 1)/)) = n j=1 n(n 1) α
6 Vor und Nachteile Offene Hashverfahren Vorteile der Strategie: Belegungsfaktoren α > 1 öglich Entfernen von Schlüsseln einfach Nachteile Speicherverbrauch der Verkettung Speichere die Überläufer direkt in der Hashtabelle it einer Sondierungsfunktion s(j, k) (0 j <, k K) Tabellenposition des Schlüssels entlang der Sondierungsfolge S(k) := (h(k) s(0, k) od,..., (h(k) ( 1, k)) od Algorithen zu Open Addressing search(k) Durchlaufe Tabelleneinträge geäss S(k). Wird k gefunden, gib true zurück. Ist die Sondierungsfolge zu Ende oder eine leere Position erreicht, gib false zurück. insert(k) Suche k in der Tabelle geäss S(k). Ist k nicht vorhanden, füge k an die erste freie Position in der Sondierungsfolge ein. 16 delete(k) Suche k in der Tabelle geäss S(k). Wenn k gefunden, arkiere Position von k it eine deleted-flag. Lineares Sondieren s(j, k) = j S(k) = (h(k) od, (h(k) 1) od,..., (h(k) + 1) od ) Beispiel = 7, K = {0,..., 500}, h(k) = k od. Schlüssel 12, 53, 5, 15, 2, Als frei gilt auch eine nicht leere Position it deleted flag
7 Analyse Lineares Sondieren (ohne Herleitung) Diskussion 1 Erfolglose Suche. Durchschnittliche Anzahl betrachteter C n 1 ( ) (1 α) 2 2 Erfolgreiche Suche. Durchschnittliche Anzahl betrachteter C n 1 ( ). 2 1 α Beispiel α = 0.95 Erfolglose Suche betrachtet i Durchschnitt 200 Tabelleneinträge!? Nachteile des Verfahrens?! Priäre Häufung: Ähnliche Hashaddressen haben ähnliche Sondierungsfolgen lange zusaenhängende belegte Bereiche Quadratisches Sondieren s(j, k) = j/2 2 ( 1) j S(k) = (h(k) + 1, h(k) 1, h(k) + 4, h(k) 4,... ) od Beispiel = 7, K = {0,..., 500}, h(k) = k od. Schlüssel 12, 53, 5, 15, 2, Analyse Quadratisches Sondieren (ohne Herleitung) 1 Erfolglose Suche. Durchschnittliche Anzahl betrachteter C n 1 ( ) 1 1 α α + ln 1 α 2 Erfolgreiche Suche. Durchschnittliche Anzahl betrachteter ( ) 1 C n 1 + ln α 1 α
8 Diskussion Beispiel α = 0.95 Erfolglose Suche betrachtet i Durchschnitt 22 Tabelleneinträge? Nachteile des Verfahrens?! Sekundäre Häufung: Synonye k und k (it h(k) = h(k )) durchlaufen dieselbe Sondierungsfolge. Double Hashing Zwei Hashfunktionen h(k) und h (k). s(j, k) = j h (k). S(k) = (h(k) h (k), h(k) 2h (k),..., h(k) ( 1)h (k)) od Beispiel: = 7, K = {0,..., 500}, h(k) = k od 7, h (k) = 1 + k od 5. Schlüssel 12, 53, 5, 15, 2, Double Hashing Sondierungsreihenfolge uss Perutation aller Hashadressen bilden. Also h (k) 0 und h (k) darf nicht teilen, z.b. garantiert it pri. h sollte unabhängig von h sein (Vereidung sekundärer Häufung). Unabhängigkeit: P ((h(k) = h(k )) (h (k) = h (k ))) = P (h(k) = h(k )) P (h (k) = h (k )). Unabhängigkeit erfüllt von h(k) = k od und h (k) = 1 + k od ( 2) ( pri). Analyse Double Hashing Sind h und h unabhängig, dann: 1 Erfolglose Suche. Durchschnittliche Anzahl betrachteter C n 1 1 α 2 Erfolgreiche Suche. Durchschnittliche Anzahl betrachteter C n 1 + α 2 + α3 4 + α4 15 α <
9 Übersicht α = 0.50 α = 0.90 α = 0.95 C n C n C n C n C n C n Separate Verkettung Direkte Verkettung Lineares Sondieren Quadratisches Sondieren Double Hashing
Multiplikationsmethode. Informatik I. goldener Schnitt. Der goldene Schnitt. Einführung. Rainer Schrader. 30. Mai Konstruktionsmethode
Multiplikationsethode Inforatik I Einführung Rainer Schrader Zentru für Angewandte Inforatik Köln 30. Mai 005 zu (): Irrationale Zahlen sind eine gute Wahl. Erinnerung: Φ = 1 + 5 = 1.6180339887... ˆΦ =
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung
MehrAlgorithmen und Datenstrukturen Hashverfahren
Algorithmen und Datenstrukturen Hashverfahren Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Prinzip Details Anwendungen Motivation Hashverfahren
MehrEs sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:
Binäre Suchbäume (a, b)-bäume (Folie 173, Seite 56 im Skript) Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften: 1 Jeder Knoten hat höchstens b Kinder. 2 Jeder
MehrAlgorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Departement Informatik 24. November 2016 Markus
Mehr12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.
Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen
Mehr4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}
105 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 26. März
MehrIn 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.
Mehr4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.
4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst
MehrUntersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe 1 (Güte von Hashfunktionen): Untersuchen Sie, inwiefern sich die folgenden Funktionen
MehrProgrammiertechnik II
Hash-Tabellen Überblick Hashfunktionen: Abbildung von Schlüsseln auf Zahlen Hashwert: Wert der Hashfunktion Hashtabelle: Symboltabelle, die mit Hashwerten indiziert ist Kollision: Paar von Schlüsseln mit
MehrKapitel 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
MehrAlgorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 06 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen
MehrAlgorithmen 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
MehrAlgorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier
Algorithmen und Datenstrukturen SoSe 2008 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Algorithmen und Datenstrukturen Gesamtübersicht Organisatorisches / Einführung Grundlagen: RAM,
MehrEinfü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
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2009 1. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Zur Vorlesung allgemein Vorlesungsumfang:
MehrDie mittlere Zeit zum Auffinden eines Elements in einer Hash-Tabelle beträgt, unter realistischen Annahmen, O(1).
Algorithmen und Datenstrukturen 213 9 Hash-Tabellen Viele Anwendungen erfordern dynamische Mengen, für welche die sog. Wörterbuch-Operationen INSERT, SEARCH und DELETE verfügbar sind. Beispiel: Symboltabelle
MehrAlgorithmen 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)
Mehr1. Aufgabe (6 Punkte): Java-Programmierung (Arrays)
Der folgende Mitschrieb wurde von Prof. Alexa am 16.07.2008 als Probeklausur in der MPGI2 Vorlesung gezeigt und wurde auf http://www.basicinside.de/2008/node/94 veröffentlicht. Die Abschrift ist unter
MehrINSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 9 (28.5.2014) Hashtabellen III Algorithmen und Komplexität Offene Adressierung : Zusammenfassung Offene Adressierung: Alle Schlüssel/Werte
MehrAlgorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR
#7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte
Mehr5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?
5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? Ladefaktor: α, n aktuelle Anzahl gespeicherter Werte m Tabellengröße. Einfacher Ansatz: rehash() a z c h s r b s h a z Wenn
MehrFibonacci-Suche. Informatik I. Fibonacci-Suche. Fibonacci-Suche. Einführung. Rainer Schrader. 24. Mai 2005
Fibonacci-Suche Informatik I Einführung Rainer Schrader Zentrum für Angewandte Informatik Köln 4. Mai 005 Grundidee wie bei der Binärsuche, aber andere Aufteilung Fibonacci-Zahlen: F 0 = 0 F 1 = 1 F m
MehrInhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe
Inhaltsverzeichnis Einführende Bemerkungen 11 Das Fach Informatik 11 Zielsetzung der Vorlesung 12 1. Grundbegriffe 1 3 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Information und Nachricht 1.1.1 Information 1.1.2 Nachricht
MehrSuchen 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
Mehr4.4.2 Virtuelles Hashing Erweiterbares Hashing Das Gridfile Implementation von Hashverfahren in Java
Inhaltsverzeichnis 1 Grundlagen 1 1.1 Algorithmen und ihre formalen Eigenschaften 1 1.2 Beispiele arithmetischer Algorithmen 5 1.2.1 Ein Multiplikationsverfahren 5 1.2.2 Polynomprodukt 8 1.2.3 Schnelle
MehrÜbungsklausur Algorithmen I
Universität Karlsruhe, Institut für Theoretische Informatik Prof. Dr. P. Sanders 26.5.2010 svorschlag Übungsklausur Algorithmen I Hiermit bestätige ich, dass ich die Klausur selbständig bearbeitet habe:
MehrBäume, Suchbäume und Hash-Tabellen
Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 12. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 12 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 98 Hashing TU Ilmenau Seite 2 / 98 Wörterbücher Sei U ein Universum
MehrAsymptotische Laufzeitanalyse: Beispiel
Asyptotische Laufzeitanalyse: n = length( A ) A[j] = x GZ Algorithen u. Datenstrukturen 1 31.10.2013 Asyptotische Laufzeitanalyse: n = length( A ) A[j] = x GZ Algorithen u. Datenstrukturen 2 31.10.2013
MehrWarteschlangentheorie
Warteschlangentheorie Ankunftsrate, z. B. 5 Personen pro Stunde Bedienrate, z.b. 20 Personen pro Stunde sei so groß gewählt, dass pro Takt höchstens eine Person ankot, bzw. abgefertigt wird. Mit der Wahrscheinlichkeit
MehrKap. 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:
MehrAlgorithmen und Datenstrukturen II
Syntax und Semantik Java: Der Einstieg Imperative Programmierung in Java Algorithmen zur exakten Suche in Texten Objektori Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät
MehrAlgorithmen und Datenstrukturen VO 3.0 Vorlesungsprüfung 19. Oktober 2007
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 1 186.089 VO 3.0 Vorlesungsprüfung 19. Oktober
MehrÜbersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
MehrAlgorithmen & 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
MehrKlausur Informatik B April Teil I: Informatik 3
Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.
MehrIn C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht:
Typprüfung (Compiler / Laufzeit) In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht: 1) Der Compiler prüft
MehrHashing. Algorithmen und Datenstrukturen II 1
Hashing Algorithmen und Datenstrukturen II 1 Einführendes Beispiel Ein Pizza-Lieferservice in Bielefeld speichert die Daten seiner Kunden: Name, Vorname, Adresse und Telefonnummer Wenn ein Kunde seine
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung
MehrVorlesung Sicherheit
Vorlesung Sicherheit Dennis Hofheinz ITI, KIT 12.05.2014 1 / 26 Überblick 1 Hashfunktionen Erinnerung Angriffe auf Hashfunktionen Zusammenfassung Hashfunktionen 2 Asymmetrische Verschlüsselung Idee Beispiel:
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
MehrDas Zweikinderproblem
Das Zweikinderproblem Definition Zweikinderproblem Eine Familie besitzt zwei Kinder. Wie groß ist die Wahrscheinlichkeit Pr[ Beide Kinder sind Mädchen. Eines der Kinder ist ein Mädchen ]? Lösung: Sei A
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Inforatik Lehrstuhl III: Datenbanksystee Prof. Alfons Keper, Ph.D. Blatt Nr. 11 Übung zur Vorlesung Grundlagen: Datenbanken i WS15/16 Harald Lang, Linnea Passing (gdb@in.tu.de)
MehrCounting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit
Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält
Mehr6-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Übersicht. Einführung Universelles Hashing Perfektes Hashing
Hasing Übersict Einfürung Universelles Hasing Perfektes Hasing 2 Das Wörterbuc-Problem Gegeben: Universum U = [0 N-1], wobei N eine natürlice Zal ist. Ziel: Verwalte Menge S U mit folgenden Operationen.
Mehr8. Hashing Lernziele. 8. Hashing
8. Hashing Lernziele 8. Hashing Lernziele: Hashverfahren verstehen und einsetzen können, Vor- und Nachteile von Hashing gegenüber Suchbäumen benennen können, verschiedene Verfahren zur Auflösung von Kollisionen
MehrAufgabe 1 Indexstrukturen
8. Übung zur Vorlesung Datenbanken im Sommersemester 2006 mit Musterlösungen Prof. Dr. Gerd Stumme, Dr. Andreas Hotho, Dipl.-Inform. Christoph Schmitz 25. Juni 2006 Aufgabe 1 Indexstrukturen Zeichnen Sie
MehrAlgorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrSeminar Datenbanken Martin Gerstmann
Seminar Datenbanken Martin Gerstmann Gliederung 1. Ziele 2. Arten 2.1. erweiterbares Hashing 2.2. lineares Hashing 2.3. virtuelles Hashing 3. Bewertung 1. Ziele wachsende/schrumpfende Datenmengen verwalten
Mehr8.1 Einführendes Beispiel
Kapitel 8 Hashing Dieses Kapitel beschäftigt sich mit einem wichtigen Speicherungs- und Suchverfahren, bei dem die Adressen von Daten aus zugehörigen Schlüsseln errechnet werden, dem Hashing Dabei stehen
MehrWörterbucher. Das Wörterbuch 1 / 71
Wörterbucher Das Wörterbuch 1 / 71 Der abstrakte Datentyp Wörterbuch Ein Wörterbuch für eine gegebene Menge S besteht aus den folgenden Operationen: insert(x): Füge x zu S hinzu, d.h. setze S = S {x}.
MehrSuchbaum. AVL-Baum Rot-Schwarz B-Baum B*-Baum... -Baum
Suchbäume Suchbaum Binärer Suchbaum Vielweg-SB AVL-Baum Rot-Schwar B-Baum B*-Baum... -Baum Fast ausgeglichen: Differen der Blatttiefen begrent Ausgeglichen: alle Blätter besiten gleiche Tiefe. Wird für
Mehr1. Übung zur Vorlesung,,Diskrete Strukturen (SS 01)
1 Übung zur Vorlesung,,Disrete Struturen (SS 01 Lösung zu Aufgabe Es ist zu zeigen: Für, n N 0 gilt Algebraischer Beweis ( ( n + n + + 1 0 Es sei n N 0 beliebig Wir beweisen die Behauptung durch Indution
MehrKlausur Algorithmen und Datenstrukturen
Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 22.08.2013
Mehr! 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
Mehr3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
Mehr12. Dynamische Datenstrukturen
Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Implementationsvarianten der verketteten Liste 0 04 Motivation: Stapel ( push, pop, top, empty
MehrSuchen. lineare Suche, binäre Suche, divide and conquer, rekursive und iterative Algorithmen, geordnete Daten, Comparable
Suchen lineare Suche, binäre Suche, divide and conquer, rekursive und iterative Algorithmen, geordnete Daten, Comparable Welche Nummer hat Herr Meier? Enthält Einträge (Elemente) der Form : Name, Vorname
MehrDatenstrukturen 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
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrAlgorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
Mehr34. Algorithmus der Woche Hashing
34. Algorithmus der Woche Hashing Autor Christian Schindelhauer, Universität Freiburg Um Hashing zu erklären, fangen wir mit einen Häschen an. Einen Hasen zu finden, ist nicht leicht. Diese scheuen Tiere
MehrKlausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende
Universität Duisburg-Essen Essen, den 12.02.2010 Fakultät für Mathematik Prof. Dr. M. Winkler C. Stinner Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Lösung Die Klausur gilt als bestanden,
MehrAVL-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
MehrZufallsgröße X : Ω R X : ω Anzahl der geworfenen K`s
X. Zufallsgrößen ================================================================= 10.1 Zufallsgrößen und ihr Erwartungswert --------------------------------------------------------------------------------------------------------------
MehrHM I Tutorium 1. Lucas Kunz. 27. Oktober 2016
HM I Tutorium 1 Lucas Kunz 27. Oktober 2016 Inhaltsverzeichnis 1 Theorie 2 1.1 Logische Verknüpfungen............................ 2 1.2 Quantoren.................................... 3 1.3 Mengen und ihre
Mehr8: 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,...)
MehrPrinzipien der modernen Kryptographie Sicherheit
Prinzipien der modernen Kryptographie Sicherheit Prinzip 1 Sicherheitsmodell Das Sicherheitsmodell (Berechnungsmodell, Angriffstypen, Sicherheitsziele) muss präzise definiert werden. Berechnungsmodell:
MehrSortierverfahren 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
MehrBeispiellösung zur Prüfung Datenstrukturen und Algorithmen D-INFK
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer
MehrKlausur. Diskrete Mathematik I. Donnerstag, den um 14 Uhr
, Klausur Diskrete Mathematik I Donnerstag, den 29.02.2008 um 14 Uhr Aufgabenblätter Füllen Sie das Deckblattvollständigaus. Prüfen Sie, ob die Klausur 8 Aufgaben enthält.. Kennzeichnen Sie alle verwendeten
MehrKlausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende
Universität Duisburg-Essen Essen, den 15.0.009 Fachbereich Mathematik Prof. Dr. M. Winkler C. Stinner Klausur zur Wahrscheinlichkeitstheorie für Lehramtsstudierende Lösung Die Klausur gilt als bestanden,
MehrGrundlagen Algorithmen und Datenstrukturen Kapitel 13
Grundlagen Algorithmen und Datenstrukturen Kapitel 13 Christian Scheideler + Helmut Seidl SS 2009 18.07.09 Kapitel 6 1 Speicherverwaltung Drei Ansätze: Allokiere neue Objekte auf einem Keller. Gib nie
MehrEinführung Elementare Datenstrukturen. Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst.
Einführung Elementare Datenstrukturen (Folie 38, Seite 23 im Skript) Der Konstruktor muß den Listenkopf head erzeugen. Der Vorgänger und Nachfolger von head ist head selbst. Einführung Elementare Datenstrukturen
MehrKlausur Informatik B. Teil 1: Informatik 3 Juli 2005
Klausur Informatik B Teil 1: Informatik 3 Juli 2005 ACHTUNG Die vorliegende wurde im Juli 2005 geschrieben. Sie umfaßt lediglich den Informatik-3-Teil der Informatik-B-Klausur und ist für eine Bearbeitungszeit
Mehr2.2 Allgemeine (vergleichsbasierte) Sortierverfahren
. Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen
Mehr1. 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
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
Mehr3.5 Balancierung gemäß Zugriffshäufigkeit
Skript Index- und Speicherungsstrukturen Seite 34 3.5 Balancierung gemäß Zugriffshäufigkeit Bisherige (implizite) Annahme: die Zugriffshäufigkeit aller Datensätze ist gleichverteilt. aber: Diese Annahme
MehrVorlesung 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)
MehrFormale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S
Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrFaktorisierung 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
MehrDatenbanksysteme I WS 2012/13 - Übung 0 - Bernhard Pietsch Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme
Datenbanksysteme I WS 2012/13 - Übung 0 - Bernhard Pietsch Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme Organisatorisches (I) http://www.informatik.unijena.de/dbis/lehre/ws2012/dbs1/index.html
Mehr11. Elementare Datenstrukturen
11. Elementare Datenstrukturen Definition 11.1: Eine dynamische Menge ist gegeben durch eine oder mehrer Mengen von Objekten sowie Operationen auf diesen Mengen und den Objekten der Mengen. Dynamische
MehrRSA 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
MehrPraxis der Programmierung
Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!
MehrInverted Files for Text Search Engines
Inverted Files for Text Search Engines Justin Zobel, Alistair Moffat PG 520 Intelligence Service Emel Günal 1 Inhalt Einführung Index - Inverted Files - Indexkonstruktion - Indexverwaltung Optimierung
MehrC# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
MehrKapitel 6: Graphalgorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrKlausur Datenstrukturen und Algorithmen SoSe 2012
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Klausur Datenstrukturen und Algorithmen SoSe 2012 Vorname: Nachname: Studiengang (bitte genau einen
MehrWie sch atzt man effizient?
Vorlesung 8a Wie schätzt man Wie schätzt man effizient? Die Maximum-Likelihood Methode Die Maximum-Likelihood Methode BEISPIEL 1 BEISPIEL 1 Panther A BEISPIEL 1 Panther A Schätzung der deutschen Panzerproduktion
Mehr