PAT-Trees. Hauptseminar Information Retrieval. PD Dr. Karin Haenelt. Thema: PAT-Trees. Referent: Bernd Mehnert. Datum:
|
|
- Sarah Dunkle
- vor 6 Jahren
- Abrufe
Transkript
1 1
2 1. Was sind? Definition: Ein PAT-Tree ist ein aus allen möglichen Sistrings eines Textes konstruierter Patricia Tree Was sind Sistrings? 1. Was ist ein Patricia Tree? 1. PAT-Tree 1 übersetzt: Frakes, Baeza-Yates (199)
3 1.1 Sistrings (semi-infinite-strings) Beispieltext: Es klapperten die Klapperschlangen, bis ihre Klappern schlapper klangen. Sistring 1 Sistring Sistring 4 Sistring 19 Sistring 7 : Es klapperten die Klapperschlangen : s klapperten die Klapperschlagen, bi : klapperten die Klapperschlangen, bis : Klapperschlangen, bis ihre Klappern : chlangen, bis ihre Klappern schlapp Sortierung nach ASCII-Code: 7 < 1 < 19 < 4 <
4 1.. Patricia Tree 4 Definition: Practical Algorithm To Retrieve Coded In Alphanumeric Ein Binärbaum, in dem die abzuspeichernden Bitfolgen (Schlüssel) über die Verzweigung der Knoten bestimmen 0-Bit: linke Verzweigung 1-Bit: rechte Verzweigung Bitfolgen = alle alphanumerisch kodierten Sistrings eines Textes, z.b. Sistring 1 von Patricia : PAT-Tree
5 1. PAT-Tree Text Bitposition Query 5
6 1. PAT-Tree 6 Merkmale: Interne Knoten mit nur einem Nachfolger werden eingespart Speicherplatzbedarf interner Knoten Bitposition = gibt an, welches Bit in der Query zur weiteren Suche im Baum benutzt wird (links rechts?) Pointer auf Nachfolgeknoten Speicherplatzbedarf externer Knoten Pointer auf den ihm zugeordneten Sistring n externe Knoten, n-1 interne Knoten Größe des Baums O(n)
7 . Suchverfahren.1 Präfix-Suche. Abstandssuche. Bereichssuche.4 Häufigkeitssuche.5 Längste-Wiederholung-Suche.6 Reguläre Ausdrücke 7
8 .1 Präfix-Suche Text Bitposition 0 0 Query 1 Suche endet entweder in internem Knoten Präfix kommt mehrmals im Text vor (oder gar nicht) in externem Knoten genau ein Sistring mit gesuchtem Präfix existiert (oder keiner) O(log n)
9 . Abstandssuche s1 4 8 s Text Bitposition (s1) (s) Query 1 Bei mehrfachem und unterschiedlich häufigem Vorkommen von s1 & s Sortierung von s1 nach Position im Text Vergleich aller Positionen s1 mit s m1 Textstellen s1 vor s und m Textstellen s vor s1 O((m1+m)*log m1)
10 . Bereichssuche Text Bitposition alles zwischen 000 und 01 Query 1 Gesucht werden alle Wörter zwischen zwei Bereichsgrenzen, z.b. zwischen abc & acc Ergebnis ist der Bereich zwischen den beiden erreichten Knoten inklusive der Unterbäume O(log n)
11 .4 Häufigkeitssuche Text Bitposition Länge n = Query 4 Häufigster String der Länge n Knoten mit dem größten Unterbaum; deren Größe wird zusätzlich in den Knoten gespeichert
12 .5 Längste-Wiederholung-Suche Text Bitposition Gesucht wird längster String, der in zwei verschiedenen Sistrings vorkommt => fester Wert
13 .6 Reguläre Ausdrücke Regulärer Ausdruck: 0[01]* ,1 Ergebnis: {1,8} Regulärer Ausdruck wird in einen minimierten deterministischen endlichen Automaten umgewandelt Das Eingabealphabet des DEA wird binär kodiert DEA wird auf Baum simuliert Wurzel = Startzustand Endzustand in internen Knoten gesamter Unterbaum ist Ergebnis Wird ein externer Knoten erreicht wird der Rest des DEA auf dem referierten String ausgeführt
14 . Optimierungsverfahren.1 Bucketing. Supernodes. PAT-Arrays..1 Verschmelzen kleiner mit großen PAT-Arrays.. Verschmelzen großer PAT- Arrays 14
15 .1 Bucketing 1 Zusammenfassen von b externen Knoten in sog. buckets b 1 interne Knoten werden eingespart 15
16 16 [4] [7] [8] Frakes, Baeza-Yates (199).1 Bucketing [1] [5] We have [ ] a very simple trade-off between time (a factor of b) and space (a factor of bln). 1 Nachteile: Die Suche muß auf allen enthaltenen externen Knoten ausgeführt werden Verlängerung der Suchzeit maximal um Faktor b Maximaler Füllzustand der buckets wird nicht immer erreicht Ø b*ln Knoten in bucket Die Kosten für interne Knoten können um den Faktor b*ln verringert werden
17 . Supernodes Nur ein Zugangspunkt Endpunkte entweder externe Knoten Pointer auf anderen Supernode (FP- Sektor)
18 . Supernodes 18 Sektoreneinheit Zylinder Spur Sektor Belegen aufeinanderfolgende Sektoreneinheiten (disk pages) Reduzierte und optimierte Zugriffszeiten Speicherplatzeinsparung durch verkürzte Adressierung der Knoten (Pointer ~halbes word) Füllzustand der disk pages durchschnittlich 50-80% Beispiel: bit CPU Disk page ~4000 byte Knoten ~1/ bis 1 word ~1000 Knoten pro disk page 10 Baumlevel 1 Plattenzugriff
19 19 [7] [4] [8] 1 [5] [1]. PAT-Arrays [6] [] [] Text Bitposition Problem: enormer Speicherplatzbedarf der internen Knoten Lösung: sortierte buckets werden zu Array verbunden Interne Knoten werden eingespart Bauminformationen bleiben größtenteils erhalten O(log n)
20 . PAT-Arrays Vorgehensweise auf großen Korpora: Erstellen der PAT-Arrays aus einzelnen Text(en)/(abschnitten), die dann zu einem Gesamtindex verschmolzen werden Sistrings erstellen Sistrings lexikographisch sortieren (z.b. mit Quicksort) und zusammenführen Techniken: Verschmelzen kleiner mit großen PAT-Arrays Verschmelzen großer PAT-Arrays 0
21 1..1 Verschmelzen kleiner mit großen PAT-Arrays Kleiner Text / RAM Teil des großen Textes Aa Ac Af Ak Al Bi Kleiner Index (n) Zählarray (n+1) An As Az Ba Bb Cj E Gi Bk Bz Ca Im Verschmolzener Index Aa Ac Af Ak Al An As Az BaBb Bi Bk BzCa PAT-Array des kleinen Textes wird im RAM erstellt Sistrings des großen Textes werden sequentiell eingelesen und im kleinen Index gesucht Zählarray speichert dabei die Anzahl der Sistrings pro Position Sequentielles Einfügen des kleinen Indexes anhand des Zählarrays in den großen Index
22 1c P1.. Verschmelzen großer PAT-Arrays Text (Sistrings) i d 4b 5g 6h 7a 8e 9f 10j P P P4 P5 P6 P7 P8 PAT-Array (Pointer) 7a P1 Temporäres File A 7a 4b 1c d 8e 9f 5g 6h i 10j P9 P10 Sortierte Sistrings 4b 1c d 8e 9f 5g 6h i 10j P P P4 P5 P6 P7 P8 P9 P10 Temporäres File B 8a 6b c 10d 1e 7f 9g h 5i 4j Reduziert Anzahl der Random Access FP- Zugriffe durch sequentielle Anordnung der Sistrings Die zu vergleichenden Sistrings werden gekürzt Speichereinsparung Fehlgeschlagene Vergleiche werden nachträglich vorgenommen 8a I1 Sortierte Sistrings 6b c 10d 1e 7f 9g h 5i 4j I I I4 I5 I6 I7 I8 I9 I10 Sistringsvergleich Verschmolzenes PAT-Array 7a 8a 4b 6b 1c c d 10d 1e 8e P1 I1 P I P I P4 I4 I5 P5 7f 9f 5g 9g h 6h i 5i 4j 10j I6 P6 P7 I7 I8 P8 P9 I9 I10P10
23 4. Evaluierung Signature Files Vorteile ~x schneller als Stringvergleiche geringer Speicherplatzbedarf Nachteile lineare Suchzeit = ineffizient für große Datenmengen falsche Suchergebnisse möglich Inverted Files PAT- Arrays einfach zu implementieren sehr effizient (logarithmische Suchzeit) ähnlich effizient wie Inverted Files Vielfalt unterschiedlicher Suchmethoden großer Overhead beim Speicherbedarf hohe Kosten für Änderungen bei dynamischem Dokumentbestand aufwendige Implementierung vorwiegend für geschlossene Dokumentmengen geeignet
24 Literaturverzeichnis William B. Frakes, Ricardo Baeza-Yates (eds.): : Data Structures & Algorithms. Prentice Hall, 199 Gaston Gonnet, Ricardo Baeza Yates (eds.): Handbook of Algorithms and Data Structures. Addison Wesley, 1991 Robert Sedgewick: Algorithmen. Addison Wesley, 199 Prof. Dr. T. Kudraß: Speicherverwaltung: Festplatten und Dateien Speicherverwaltung.pdf 4
25 Literaturverzeichnis 5 Maria Tzolova, Fatih Ekrem Genc: Refererat: New Indices for Text: PAT Trees and PAT Arrays. LCL, Ruprecht-Karls- Universität Heidelberg, David Felstead: CS09 HOW-TO Series: How to build Patricia Tries, Kenny Kwok: Referat: Introduction to PAT-Tree and ist variations. Department of Computer Science and Engineering, The Chinese University of Hong Kong Uwe Quasthoff: Skript:. Institut für Informatik, Universität Leipzig, 004
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrB-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP
B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte
MehrTutorium Algorithmen & Datenstrukturen
June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten
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
MehrPrä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
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrFolge 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
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrGegeben Zieladresse, finde Nachbarknoten, an den Paket zu senden ist ("Routing-Tabelle")
8 Digitalbäume, Tries,, Suffixbäume 8.0 Anwendungen Internet-outer egeben Zieladresse, finde Nachbarknoten, an den Paket zu senden ist ("outing-tabelle") 3 network addr Host id 00 0000 000 0 00 0 0000
MehrÜbrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?
Huffman-Code Dieser Text ist als Hintergrundinformation ausschliesslich für die Lehrperson gedacht. Der Text ist deshalb eher technisch gehalten. Er lehnt sich an das entsprechende Kapitel in "Turing Omnibus"
MehrDatenstrukturen 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
MehrGrundlagen 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.
MehrKap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis
Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest
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
MehrNachtrag zu binären Suchbäumen
Nachtrag zu binären Suchbäumen (nicht notwendigerweise zu AVL Bäumen) Löschen 1 3 2 10 4 12 1. Fall: Der zu löschende Knoten ist ein Blatt: einfach löschen 2. Fall: Der zu löschende Knoten hat ein Nachfolgeelement
MehrAbschnitt: 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
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
MehrSuchbä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
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
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
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 11, Donnerstag, 16. Januar 2013 (Balancierte Suchbäume) Junior-Prof. Dr. Olaf Ronneberger
MehrSuchen 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(27 - Selbstanordnende lineare Listen)
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 - Selbstanordnende lineare Listen) Prof. Dr. Susanne Albers Problemstellung Gegeben sei eine Menge von Objekten (Schlüsseln), auf die mit zeitlich
MehrBäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1
Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer
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
MehrKapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.6 AVL-Bäume 4.8 Rot-Schwarz-Bäume Idee: Verwende Farben, um den Baum vertikal zu
MehrDatenstrukturen & 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
MehrKapitel 6 Anfragebearbeitung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger
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:
Mehrt 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
MehrDateiorganisation 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
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrGliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz
Gliederung Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg
MehrAlgorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 4: Nichtdeterminismus Teil 2 schulz@eprover.org Software Systems Engineering Nichtdeterministische endliche Automaten Definition: Ein nichtdeterministischer
MehrInformatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum
lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum
MehrKapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2013/14. Prof. Dr. Sándor Fekete
Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2013/14 Prof. Dr. Sándor Fekete 1 4.6 AVL-Bäume 2 4.8 Rot-Schwarz-Bäume Rudolf Bayer Idee: Verwende Farben, um den
MehrDie allerwichtigsten Raid Systeme
Die allerwichtigsten Raid Systeme Michael Dienert 4. Mai 2009 Vorbemerkung Dieser Artikel gibt eine knappe Übersicht über die wichtigsten RAID Systeme. Inhaltsverzeichnis 1 Die Abkürzung RAID 2 1.1 Fehlerraten
Mehr- 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)
MehrDefinition. 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
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
Mehr15 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
MehrHauptspeicherindexstrukturen. Stefan Sprenger Semesterprojekt Verteilte Echtzeitrecherche in Genomdaten 10. November 2015
Hauptspeicherindexstrukturen Stefan Sprenger Semesterprojekt Verteilte Echtzeitrecherche in Genomdaten 10. November 2015 Agenda Einführung in Hauptspeichertechnologien Indexstrukturen in relationalen Datenbanken
MehrSortieralgorithmen. Vorlesung Algorithmen und Datenstrukturen 2. Prof. Dr. W. P. Kowalk Universität Oldenburg
Sortieralgorithmen Vorlesung Algorithmen und Datenstrukturen 2 im SS 2004 Prof. Dr. W. P. Kowalk Universität Oldenburg Literatur Die folgenden Bücher wurden für die Vorlesung verwendet. Darüber hinaus
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
MehrBä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
MehrIndexstrukturen in XML
Seminar XML und Datenbanken Indexstrukturen in XML Vanessa Schäfer 07.02.2003 Übersicht Einführung Indexstrukturen in XML Ein Vergleich SphinX vs. Lore Zusammenfassung und Ausblick Seminar XML und Datenbanken
MehrTutoraufgabe 1 (Vollständige Induktion): Tutoraufgabe 2 (Rotationen): Datenstrukturen und Algorithmen SS15 Übungsblatt 5 (Abgabe 3.6.
Prof. aa Dr. Ir. Joost-Pieter Katoen Allgemeine Hinweise: Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Die Hausaufgaben sollen in Gruppen von je - Studierenden aus der gleichen
MehrUniversität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 4: Memory Peter B. Ladkin Address Translation Die Adressen, die das CPU benutzt, sind nicht identisch mit den Adressen,
MehrWiederholung. Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q,
Wiederholung Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q, einem Anfangszustand q 0 Q, einer Menge von Endzuständen Q E Q, einer
MehrB-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write
B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write Thomas Maier Proseminar: Ein- / Ausgabe Stand der Wissenschaft Seite 1 von 13 Gliederung 1. Hashtabelle 3 2.B-Baum 3 2.1 Begriffserklärung 3 2.2
MehrDigital Forensics. Slackspace. 2011 DI Robert Jankovics DI Martin Mulazzani
Digital Forensics Slackspace Slackspace Übersicht: Slack allgemein NTFS Slack FAT Slack mit Steganographie Slack allgemein Slack Space: Bezeichnet den Speicherplatz zwischen Ende der Datei und Ende des
MehrFiltern von Stoppwörtern mit endlichen Automaten
Filtern von Stoppwörtern mit endlichen Automaten Im Rahmen des Hauptseminars: Endliche Automaten für die Sprachverarbeitung -SS 2005- PD Dr. Karin Haenelt Ruprecht-Karls-Universität Heidelberg Seminar
MehrEigenschaften von Kompressionsverfahren
6 Textkompression Eigenschaften von Kompressionsverfahren Das Ziel der Datenkompression ist es, eine gegebene Information (Datenquelle) auf eine kompaktere Weise zu repräsentieren. Dies geschieht, indem
MehrDefinition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.
Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer
MehrDer 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
MehrTextkomprimierung. Stringologie. Codes. Textkomprimierung. Alle Komprimierung beruht auf Wiederholungen im Text. Textkomprimierung
Stringologie Peter Leupold Universität Leipzig Vorlesung SS 2014 Alle Komprimierung beruht auf Wiederholungen im Text Die Komprimierung muss rückgängig gemacht werden können Je kleiner das Alphabet, desto
MehrAlgorithmen 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
MehrFelder. November 5, 2014
Felder Universität Bielefeld AG Praktische Informatik November 5, 2014 Felder: Datenstrukturen mit konstantem Zugriff Felder nennt man auch, Vektoren, Matrizen,... Konstanter Zugriff heisst: Zugriff auf
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
Mehr1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,
Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs
MehrBinä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
MehrWas machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort
Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität
MehrProgrammiertechnik II
2007 Martin v. Löwis Priority Queues and Heapsort 2007 Martin v. Löwis 2 Priority Queue Abstrakter Datentyp Inhalt: Elemente mit Priorität Operationen: Einfügen: Angabe des Elements und seiner Priorität
Mehr2.4 Kontextsensitive und Typ 0-Sprachen
Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik
MehrProgrammiertechnik 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,...
MehrOPERATIONEN 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:
MehrJAVA - Suchen - Sortieren
Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik
MehrProgrammieren 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
MehrTheoretische 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Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9
Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere
MehrKapitel 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Übersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen
Datenstrukturen & Algorithmen Übersicht Rot-schwarz Bäume Eigenschaften Einfügen Matthias Zwicker Universität Bern Frühling 2009 2 Rot-schwarz Bäume Binäre Suchbäume sind nur effizient wenn Höhe des Baumes
MehrArchitektur Verteilter Systeme Teil 2: Prozesse und Threads
Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =
MehrName:... 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
MehrWiederholung 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
MehrKapitel 3. Speicherhierachie. Beispiel für Cache Effekte. Motivation Externspeicheralgorithmen. Motivation Für Beachtung von Cache Effekten
Kapitel 3 Algorithmen für große Datenmengen Motivation Externspeicheralgorithmen Es werden immer größere Datenmengen gesammelt (WWW, Medizin, Gentechnik ) Daten müssen auf großen externen Massenspeichern
MehrSuchmaschinen Grundlagen. Thomas Grabowski
Suchmaschinen Grundlagen Thomas Grabowski 1 / 45 Überblick 1. Einleitung 2. Suchmaschinen Architektur 3. Crawling-Prozess 4. Storage 5. Indexing 6. Ranking 2 / 45 1. Einleitung Der Webgraph unterliegt
MehrALP I. Funktionale Programmierung
ALP I Funktionale Programmierung Sortieren und Suchen (Teil 1) WS 2012/2013 Suchen 8 False unsortiert 21 4 16 7 19 11 12 7 1 5 27 3 8 False sortiert 2 4 6 7 9 11 12 18 21 24 27 36 Suchen in unsortierten
MehrKapitel 2: Analyse der Laufzeit von Algorithmen Gliederung
Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs
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
MehrProgrammierung und Modellierung
Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:
Mehr4. 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
MehrSortieren. Eine Testmenge erstellen
Sortieren Eine der wohl häufigsten Aufgaben für Computer ist das Sortieren, mit dem wir uns in diesem Abschnitt eingeher beschäftigen wollen. Unser Ziel ist die Entwicklung eines möglichst effizienten
MehrBeispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
MehrThomas Behr. 17. November 2011
in in Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 17. November 2011 c 2011 FernUniversität in Hagen Outline in 1 2 3 4 5 6 - Was ist das? in über
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Prioritätswarteschlangen Mariano Zelke Datenstrukturen 2/28 Der abstrakte Datentyp Prioritätswarteschlange : Füge Elemente (mit Prioritäten) ein und entferne
MehrMathematik für Information und Kommunikation
Mathematik für Information und Kommunikation Am Beispiel des Huffman- Algorithmus Thomas Borys und (Christian Urff) Huffman im Alltag MPEG Telefax JPEG MP3 ZIP avid Huffman avid Huffman [95-999] www.soe.ucsc.edu/people/faculty/huffman.html
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe
MehrAlgorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte
Fachhochschule Wedel Seminararbeit Algorithmus zur komprimierten Übertragung von Textdaten an mobile Endgeräte Sven Reinck 7. Januar 2007 Inhaltsverzeichnis Inhaltsverzeichnis Motivation 2 Wörterbuch 2.
MehrBalancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06
Balancierte Bäume Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 2 Ziele AVL-Bäume als einen wichtigen Vertreter balancierter
MehrDatenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut
Datenkompression Holger Rauhut 1. September 2010 Skript für die Schülerwoche 2010, 8.-11.9.2010 Hausdorff Center for Mathematics, Bonn 1 Allgemeines Datenkompression hat zum Ziel, Daten in digitaler Form,
MehrHadoop. Simon Prewo. Simon Prewo
Hadoop Simon Prewo Simon Prewo 1 Warum Hadoop? SQL: DB2, Oracle Hadoop? Innerhalb der letzten zwei Jahre hat sich die Datenmenge ca. verzehnfacht Die Klassiker wie DB2, Oracle usw. sind anders konzeptioniert
MehrEinführung in die Informatik I Kapitel II.3: Sortieren
1 Einführung in die Informatik I Kapitel II.3: Sortieren Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät
Mehrentweder: zeilenweise fgets() oder: zeichenweise fgetc()
PHP stellt viele Funktionen zur Verfügung, um mit Dateien effektiv zu arbeiten. Die grundsätzliche Vorgehensweise beim Auslesen einer Datei sieht wie folgt aus: 1. Öffnen der Datei fopen() 2. schrittweises
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
MehrWas bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch
Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch verschiedene Datenstrukturen: lineare Datenstrukturen: Array,
Mehr1.4.12 Sin-Funktion vgl. Cos-Funktion
.4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten
Mehr