Datenorganisation. Aufgaben der Datenorganisation: Effizientes Verwalten von Daten, also

Größe: px
Ab Seite anzeigen:

Download "Datenorganisation. Aufgaben der Datenorganisation: Effizientes Verwalten von Daten, also"

Transkript

1 Aufgaben der Datenorganisation: Effizientes Verwalten von Daten, also Datenorganisation Daten müssen sicher aufbewahrt werden Daten müssen wieder auffindbar sein Daten müssen schnell zugreifbar sein Problem: Einfache Datenstrukturen garantieren geringe Fehleranfälligkeit einfacher Programmcode Komplexe Datenstrukturen garantieren optimale Verwaltung mit schnellen Zugriffen Folgerung für die Praxis: Kompromisse

2 Hauptaufgabe eines Rechners Rechenwerk Arbeitsspeicher Bus Netz Platte Band

3 Verwaltung von Magnetplatten Einteilung in gleich große Blöcke: 1024 Bytes bis 32 kbytes und mehr Daten werden blockweise gelesen und geschrieben (Arbeitsspeicher ist Zwischenpuffer zur CPU) Dateien werden in (eventuell sehr vielen) Blöcken abgelegt Ein Block enthält immer nur Daten einer Datei Die Verwaltung von Magnetplatten und Dateien übernimmt das Betriebssystem: Formatieren der Magnetplatten und anderer Datenträger Abspeichern von Dateien Puffern von Datenblöcken im Arbeitsspeicher

4 Wünsche an die Datenorganisation schnelles Finden von Daten innerhalb einer Datei (geringer Zeitaufwand!) wenig Speicherverbrauch beim Abspeichern aller Daten (geringe Kosten) wenig Aufwand beim Löschen, Einfügen, Ändern (geringer Zeitaufwand) einfacher Algorithmus (wenig Wartung und geringe Fehleranfälligkeit) Nicht alle vier Wünsche sind gleichzeitig voll erfüllbar

5 Speichermedien Sequentielle Speichermedien: Die Daten werden, beginnend am Anfang des Mediums, direkt hintereinander geschrieben. Adressierbare Speichermedien: Jeder Speicherplatz ist direkt erreichbar. Speichermedium Sequentiell Adressierbar Vorteile billiges Medium, geringer Speicherbedarf Direktzugriff möglich, Einfügen möglich Nachteile Einfügen nicht möglich, Suchen nur sequentiell Medium nicht ganz billig, oft ungenutzte Lücken Typisches Medium Magnetband, CD-ROM Magnetbandkassette Magnetplatte, Disketten, Arbeitsspeicher Typischer Einsatz Archivierung, Datensicherung Überall, wo auf Daten direkt zugegriffen wird

6 Dateiarten Auf sequentielle Speichermedien wird nur sequentiell zugegriffen Auf adressierbare Speichermedien wird sequentiell oder direkt adressierend zugegriffen Sequentielle Dateien: Die Datensätze sind innerhalb der Datei hintereinander abgespeichert (ohne Lücken) Anwendung: Archivierung, Sicherung, kleine Dateien ( < 50 MBytes) Adressierte Dateien: Die Datensätze sind innerhalb der Datei an bestimmten Adressen abgespeichert. Diese Adresse muss gemerkt werden. Anwendung: große Dateien (im MByte- bis GByte-Bereich) mit kurzen Zugriffszeiten

7 Direktadressierung Die Speicheradresse ist eine Funktion der dort gespeicherten Daten. Beispiel: Elektronisches Notizbuch Voraussetzung: pro Tag existieren 100 Bytes an Speicherplatz Daten des 2. Februar (33. Tag) sind zu finden: Speicherplätze (ab Dateibeginn) Allgemein gilt für die gesuchte Adresse A gesucht : A gesucht = f (Suchschlüssel ) Im Beispiel: A gesucht = 100 * (Kalendertag - 1) + Startadresse

8 Geordnete Speicherung mit Suchschlüssel Direktadressierung mit Suchschlüssel nicht anwendbar, wenn Definitionsbereich des Suchschlüssels zu groß Beispiel: Telefonbuch Menge aller möglichen Namen (Suchschlüssel) ist zu groß Abhilfe: Sortiert speichern und binär suchen! Datenbereich = Gesamte Datei Solange Datenbereich nicht leer oder Eintrag nicht gefunden ist Lies den Suchschlüssel S in der Mitte des Datenbereichs S > Suchbegriff? Ja nein Datenbereich = S = Suchbegriff? linke Datenhälfte ja nein Eintrag gefunden Datenbereich = rechte Datenhälfte

9 Vor- und Nachteile von Speichertechniken Direktadressierung Vorteile Direktzugriff, direktes Einfügen, direktes Löschen, einfacher Algorithmus Nachteile nur bedingt anwendbar (wegen des zum Teil sehr hohen Speicherverbrauchs) Binäre Suche relativ schnelle Suche, minimaler Speicherverbrauch, leicht anwendbar Löschen aufwendig, Einfügen aufwendig Abhilfe Hash-Verfahren B-Baum ISAM-Datei

10 Einstufige physische Datenstrukturen Listen auf sequentiellem Speicher Merkmale von Listen auf sequentiellem Speicher: der Anfang der Liste ist bekannt, zu jedem Element existiert ein direktes Nachfolgeelement, am Ende steht ein Ende-Signal. Dies lässt sich wie folgt darstellen: Anfang 1. El. 2. El. letztes El. Ende Sequentielle Speicherung: Anfang 1. Element 2. El. 3. El.... n. El. EOF

11 Tabellen auf adressierbarem Speicher Tabellen auf adressierbarem Speicher entsprechen der Direktadressierung. Die Merkmale sind: Jedes Element ist direkt zugreifbar, Jedes Element belegt gleich viel Speicherplatz. Beispiel: Tabelle mit 80 Elementen 1. El. 2. El. 3. El. 4. El. 5. El El. 79. El. 80. El. Anwendungen: Datenorganisation, Mathematik, Vektoren, Matrizen, Felder

12 Geordnete Listen auf adressierbarem Speicher Merkmale der geordneten Listen sind: der Anfang ist bekannt, zu jedem Listenelement existiert ein direktes Nachfolgeelement, die Elemente sind nach dem Suchbegriff geordnet, das Binäre Suchverfahren ist anwendbar, am Ende steht ein Ende-Signal. Sind die Listenelemente nicht gleich lang, so ist die Implementierung der Binären Suche etwas aufwändiger. Anwendungen: elektronische Karteien und Bücher. Problem: Einfügen und Löschen

13 Geordnete verkettete Listen Bei verketteten Listen wird die Reihenfolge über Zeigerketten hergestellt. Die Merkmale sind: der Anfang der Liste ist bekannt, zu jedem Element existiert ein Verweis auf das nächste Element, das Ende ist markiert. 2. Element Anfang 1. Element 3. Element Ende 4. Element Logische Ordnung, keine physische. Anwendung: Betriebssystem, dynamische Prozesse

14 Zusammenfassung einstufiger Verfahren sequentielle Listen Tabellen geordnete Listen geordnete verkettete Listen sehr gering, da keine Lücken (++) sehr hoch, große Lücken (--) genau 1 Zugriff (++) direkte Änderung (++) stark eingeschränkt gering, aber Elemente gleich groß (+) Binäre Suche (+) Speicherung sequentiell adressiert sequentiell geordnet adressiert Speicher sequentiell adressierbar adressierbar adressierbar Speicherverbrauch Zugriffsdauer sequentielle Suche (-) Änderungsaufwand Anfügen nur Verschieben der am Ende (--) Folgeelemente (-) Einsatzmöglichkeit universell universell auf adressierbarem Speicher Komplexität gering gering gering gering gering, etwas Speicher für Adressen (+) sequentielle Suche (-) nur Adressen ändern (+) universell auf adressierbarem Speicher

15 Mehrstufige Datenstrukturen Hierarchische Datenstrukturen heißen mehrstufig: Der Zugriff erfolgt mehrstufig über diese Hierarchie. Anschauliches Beispiel: Telefonbuch als Binärbaum mit 15 Einträgen

16 Datei mit 1 Gigabyte 1 Million Einträge à 1000 Bytes Rechenbeispiel Binäre Suche: log Festplattenzugriffe Festplatte kann eventuell zum Engpass werden Mehrstufige Strukturen: ca. 1 Million Hierarchie-Elemente sind erforderlich mit ca. je 20 Byte 20 MBytes werden ständig im Speicher gehalten 1 Plattenzugriff zum Einlesen der Nutzdaten je Suchvorgang Problem: 1 Milliarde und mehr Einträge

17 Zusammenfassung der Baumstrukturen Baumstrukturen Speicherung adressiert Speicher adressierbar Speicherverbrauch noch relativ gering (Hierarchiestufen) (+) Zugriffsdauer kurz, da über Hierarchiestufen zugegriffen wird (+) Änderungsaufwand nur Adressen ändern, eventuell auch Hierarchiedaten (+) Einsatzmöglichkeit universell auf adressierbarem Speicher Komplexität hoch: Schieflastigkeit, Ändern und Einfügen! Anwendungen: Aufbau dynamischer Strukturen im Arbeitsspeicher Verzeichnisbaum von Dateisystemen Zerlegen von Ausdrücken bei Compilern

18 Index Sequentielle Dateien ISAM für Index Sequential Access Method VSAM für Virtual Sequential Access Method Eine ISAM-Datei besteht aus zwei Teilen: Die abgespeicherten Daten in den Datenblöcken Die Indexstufen in den Indexblöcken zum schnellen Suchen Für ISAM-Dateien gilt: Die Daten sind logisch nach dem Suchschlüssel geordnet. Physisch sind die Daten innerhalb jedes einzelnen Datenblocks geordnet. Die Blöcke selbst können beliebig auf dem Speichermedium verteilt sein. Die Indexblöcke enthalten Informationen (Indizes), in welchen Blöcken welche Daten zu finden sind. Die Indexblöcke sind analog zu den Datenblöcken geordnet.

19 Kartei enthält pro Person 116 Bytes: Beispiel Name (Suchschlüssel) 20 Bytes Vorname 20 Bytes Adresse 40 Bytes Geburtsdatum 6 Bytes Telefonnummer 10 Bytes Beruf 20 Bytes Blockgröße: 1024 Bytes, also maximal 8 Datensätze in jedem Block. Holler Marianne Regensburg Block 6 Huber Martin Regensburg Hübsch Maria Block 7... Igl Werner... Irm er Lothar... Block 8

20 Beispiel (Indexblock) Ausschnitt aus Indexblock:... Gruber A dresse Block 6 Huber A dresse Block 7 Irm er A dresse Block 8... Indexblock

21 Gesucht: Daten zu Frau Hübsch. Suche in einer ISAM-Datei 1 2 Indexblock... Gruber Huber Irmer Gruber Hinz... Huber... Hübsch Igl... Datenblöcke Irmer

22 Einfügen, Ändern und Löschen in ISAM-Datei Ändern: Problemlos, so lange nicht die Suchdaten geändert werden Löschen: Meist einfach, da nur die Daten im Block gelöscht werden müssen Aber: Falls erstes Datum im Block gelöscht, auch Index anpassen Aber: Falls nun Block leer, Block freigeben und Index anpassen Einfügen: Einfach, falls noch Platz im Block Aber: Falls erster Eintrag im Block, auch Index anpassen Aber: Falls kein Platz mehr frei, neuen Block anfordern und Index anpassen

23 Splitting-Verfahren Splitting-Verfahren wird ausgelöst, falls Datenblock nicht mehr ausreicht. leer bisheriger Datenblock bisheriger Datenblock leer neuer Datenblock Üblich: Datenblöcke sind nur zu 70-80% gefüllt.

24 Indexblöcke Indexblöcke werden wie Datenblöcke manipuliert, auch gesplittet! 1. Indexstufe (genau 1 Block) Suchschlüssel Adresse Suchschlüssel 2. Indexstufe Datenblöcke Adresse Schlüssel Einträge

25 Bewertung von ISAM-Dateien Eine ISAM-Datei mit n Indexstufen benötigt maximal n+1 Einlesevorgänge! Beispiel zum Bedarf der Anzahl von Indexstufen: Blockgröße: 2048 Bytes, Datengröße: 116 Bytes Indexeintragsgröße: 24 Bytes (Schlüssel: 20 Bytes und Adresse) Füllgrad: ca. 75% Folgerung: mittlere Anzahl von Einträgen im Indexblock: 64 mittlere Anzahl von Einträgen im Datenblock: 13. Es lassen sich verwalten: 1 Indexstufe 64 Blöcke 64 13=830 Einträge 97 kbytes Daten 2 Indexstufen 64 2 Blöcke Einträge 6 MBytes Daten 3 Indexstufen 400 MBytes Daten 4 Indexstufen 25 GBytes Daten

26 Zusammenfassung der ISAM-Datenstruktur ISAM-Datenstruktur Speicherung adressiert Speicher adressierbar Speicherverbrauch noch gering (+), im ungünstigen Fall zufriedenstellend (o) Zugriffsdauer kurz, über wenige Indexstufen (++) Änderungsaufwand lokal, nur manchmal auch Indexstufe betroffen (+) Einsatzmöglichkeit universell auf adressierbarem Speicher, bei häufigen Änderungen ist gelegentliches Reorganisieren erforderlich Komplexität sehr hoch

27 Hash-Verfahren (Vorbemerkung) Hash-Verfahren nutzen die Vorteile der Direktadressierung. Direktadressierung: S sei die Menge aller möglichen Suchschlüssel A die Menge aller zur Verfügung stehenden Speicheradressen. Dann gilt f : S A ist bijektiv Jedem Element aus S wird eine eindeutige (!) Adresse in A zugeordnet. Die Mächtigkeit von S und A müssen also übereinstimmen!

28 Definition (Hash-Verfahren) Gegeben sei eine Funktion h: S A, die jedem Suchschlüssel s S eine (nicht notwendigerweise eindeutige) Adresse a A zuordnet. Sei E S die Menge aller tatsächlich vorkommenden Suchschlüssel. Dann heißt eine Funktion h, eingeschränkt auf die Menge E, eine Hashfunktion zur Menge E: h : E S A. Vorgehen: Ein Eintrag wird an dem Platz abgespeichert, den die Hashfunktion h ermittelt. Problem: Die Funktion h ist auf der Menge S nicht notwendigerweise eineindeutig. Folgerung: Mehrere Einträge werden am gleichen Platz gespeichert!

29 Ausnahmebehandlung Zur Vermeidung von Mehrfachbelegung erfolgt Ausnahmebehandlung: Versatzfunktion Hashfunktion 2. Ordnung h 2 sucht Ersatzadresse Beispiel: 600 Einträge à 100 Bytes Suchschlüssel sei 20 Bytes Es existiert Datei mit 100 kbytes Größe für bis zu 1000 Einträge Hashfunktion h: 20 h( name) = i 100 ord( name[] i ) mod 1000 i= 1. Versatzfunktion h 2 : ( adr ) h( 2 adr) = 100 ( / )mod1000.

30 Überblick (Hash) Füllgrad der Hash-Tabellen von 40-60% sind bewährt Bei großen Dateien benötigt Hash zu viel Speicher (gegenüber ISAM) ISAM ist für Magnetplatten besser optimiert Hashtabellen sind fix in ihrer Größe! Hashtabellen müssen initialisiert werden Hash-Tabelle Speicherung direktadresssierend Speicher adressierbar Speicherverbrauch zufriedenstellend (o) Zugriffsdauer sehr kurz, da direktadressierend (++) Änderungsaufwand sehr gering, etwas höherer Löschaufwand (+) Einsatzmöglichkeit universell, nicht geeignet bei schwankender Dateigröße Komplexität hoch bis sehr hoch

31 Primär- und Sekundärschlüssel Beispiel: KFZ-Kartei KFZnr Name Vorname GebDatum Wohnort KFZ_Typ... R-E 95 Meier Fridolin Regensburg L-ZM 6 Müller Maria Leipzig M-J 11 Huber Walter München Sortiert nach: KFZ-Nummer Aber: Name ist auch häufig Suchschlüssel

32 Definition (Primär- und Sekundärschlüssel) Suchschlüssel, nach denen die Datei geordnet ist, heißen Primärschlüssel. Suchschlüssel, nach denen die Datei nicht geordnet ist, heißen Sekundärschlüssel. Beispiel: KFZ-Nummer ist Primärschlüssel Name ist Sekundärschlüssel Problem: Die Funktion f als Ordnungskriterium ist bekannt, nicht aber f -1 Primärschlüssel z.b. KFZ-Nr f f -1 Sekundärschlüssel z.b. Name

33 Invertierte Dateien Invertierte Dateien sind nach dem Sekundärschlüssel geordnet und werden zusätzlich zur normalen Datei gespeichert. Existiert eine invertierte Datei, so gilt: Schnellzugriff über Primärschlüssel (dank ISAM, Hash, ) Schnellzugriff über Sekundärschlüssel mittels invertierter Datei Sequentielle Zugriffe über andere Suchbegriffe Schematisch dargestellt: Primärschlüssel f Daten Sekundärschlüssel 1 f Primärschlüssel f Daten

34 Eigenschaften invertierter Dateien Größe: meist weniger als 10% der Originaldatei Je Suchbegriff ein Sekundärschlüssel möglich Invertierte Datei ist um so größer, je länger der Primärschlüssel ist Invertierte Datei Index z. B. ISAM oder Hash Datentabelle Sek.- schlüssel Primärschlüssel Index z. B. ISAM oder Hash Primärschlüssel Originaldatei Datentabelle Sek.- schlüssel

Datenstrukturen. Dortmund, Oktober 1998

Datenstrukturen. Dortmund, Oktober 1998 Datenstrukturen Dortmund, Oktober 1998 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX: (0231)755-4902 1 Inhalt Seite

Mehr

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München

Mehr

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) DATEIVERWALTUNG STANZL Martin 4. HB/a Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) INHALTSVERZEICHNIS 1. Die Aufteilung des Plattenspeichers... 2 2. Der Aufbau von Dateien... 2 3.

Mehr

Datenbanksysteme SS 2013

Datenbanksysteme SS 2013 Datenbanksysteme SS 2013 Kapitel 4: Physikalische Datenorganisation Vorlesung vom 16.04.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Speicherhierarchie GB 10 GHertz TB 100 10 ms

Mehr

Informatik & Praxis. Edwin Schicker Datenbanken und SQL

Informatik & Praxis. Edwin Schicker Datenbanken und SQL Informatik & Praxis Edwin Schicker Datenbanken und SQL Informatik & Praxis Herausgegeben von Prof. Dr. Helmut Eirund, Fachhochschule Harz Prof. Dr. Herbert Kopp, Fachhochschule Regensburg Prof. Dr. Axel

Mehr

Informatik & Praxis. Anwendungsorientiertes Informatik-Wissen ist heute in vielen Arbeitszusammenhängen

Informatik & Praxis. Anwendungsorientiertes Informatik-Wissen ist heute in vielen Arbeitszusammenhängen Informatik & Praxis Herausgegeben von Prof. Dr. Helmut Eirund, Fachhochschule Harz Prof. Dr. Herbert Kopp, Fachhochschule Regensburg Prof. Dr. Axel Viereck, Hochschule Bremen Anwendungsorientiertes Informatik-Wissen

Mehr

Datenbanken. Interne Datenorganisation:

Datenbanken. Interne Datenorganisation: Interne Datenorganisation: Bisher: Konzeptionelle Betrachtungen einer Datenbank aus Sicht der Anwendung: Modellierung, Normalisieren, Sprache zum Einfügen, Ändern, Löschen, Lesen Jetzt: Betrachtung der

Mehr

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum Seite 1 Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum Bild-1 Dargestellt ist die Speicherung der Personentabelle als B+-Baum anhand der Personen-Nummer (PersNr). Die Blattebene

Mehr

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen

Mehr

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1 Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen

Mehr

Dynamische Datenstrukturen

Dynamische Datenstrukturen Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.

Mehr

Baumbasierte Strukturen

Baumbasierte Strukturen Baumbasierte Strukturen Baumbasierte Struktur / Organisation als Binärbaum Haufendateien oder sortierte Dateien nützlich für statische Dateien Dateien organisiert als Binärbaum Effizientes Einfügen und

Mehr

Rückblick: Pufferverwaltung

Rückblick: Pufferverwaltung Rückblick: Pufferverwaltung Datenbankpuffer zum Schließen der Zugriffslücke zwischen Primär- und Sekundärspeicher Ersetzungsstrategien berücksichtigen Zeitpunkte und/oder Anzahl der Zugriffe auf bestimmte

Mehr

Datenbanken: Indexe. Motivation und Konzepte

Datenbanken: Indexe. Motivation und Konzepte Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher

Mehr

Logische Datenstrukturen

Logische Datenstrukturen Lineare Listen Stapel, Warteschlangen Binärbäume Seite 1 Lineare Liste Begriffe first Funktion: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel Begriffe: first - Anker, Wurzel; Adresse

Mehr

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a Was machen wir heute? Betriebssysteme Tutorium 11 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Dateisysteme. Erweiterte Anforderungen an Speicher

Dateisysteme. Erweiterte Anforderungen an Speicher Erweiterte Anforderungen an Speicher Mehr Speicher als adressierbar ist. Daten sollen nach Beendigung des Prozesses zur Verfügung stehen Mehrere Prozesse sollen auf die Daten zugreifen können. Nutzung

Mehr

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

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen

Algorithmen und Datenstrukturen 2. Dynamische Datenstrukturen Algorithmen und Datenstrukturen 2 Dynamische Datenstrukturen Algorithmen für dynamische Datenstrukturen Zugriff auf Variable und Felder durch einen Ausdruck: Namen durch feste Adressen referenziert Anzahl

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Indizes. Index. Datenfeld Normale Tabelle. Gesucht wird: Zugriff. 3. Zugriff 1. Zugriff.

Indizes. Index. Datenfeld Normale Tabelle. Gesucht wird: Zugriff. 3. Zugriff 1. Zugriff. Indizes Gesucht wird: 44791 Index Normale Tabelle 1. Zugriff 1 44789 2. Zugriff 2 44801 3. Zugriff 3 44797 4. Zugriff 4 44388 5. Zugriff 5 44746 6. Zugriff 6 44787 7. Zugriff 7 44793 8. Zugriff 8 44799

Mehr

Organisationsformen der Speicherstrukturen

Organisationsformen der Speicherstrukturen Organisationsformen der Speicherstrukturen Bäume und Hashing 1 Motivation Ablage von Daten soll einfachen, schnellen und inhaltsbezogenen Zugriff ermöglichen (z.b. Zeige alle Schüler des Lehrers X am heutigen

Mehr

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken Vertiefung Prüfung

Mehr

Ziel: Schaffung einer zusätzlichen, schnellen Zugriffsmöglichkeit unabhängig von Primärorganisation der Datei

Ziel: Schaffung einer zusätzlichen, schnellen Zugriffsmöglichkeit unabhängig von Primärorganisation der Datei 3.1. Flache Indexe Ziel: Schaffung einer zusätzlichen, schnellen Zugriffsmöglichkeit unabhängig von Primärorganisation der Datei Mittel: Definition eines Index über ein (Zugriffs-) Attribut (Schlüssel

Mehr

Hash-Verfahren. Einführung

Hash-Verfahren. Einführung Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.

Mehr

Hash-Verfahren. Prof. Dr. T. Kudraß 1

Hash-Verfahren. Prof. Dr. T. Kudraß 1 Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.

Mehr

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Wintersemester

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Elementare Datenstrukturen Array Linked List Stack Queue Tree (Feld) (Verkettete Liste) (Stapel) (Warteschlange) (Baum) 1 Sortierbaum

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Gefädelte

Mehr

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme

B / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum

Mehr

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1 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

B-Bäume, Hashtabellen, Cloning/Shadowing, Copy-on-Write

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

Mehr

Seminar Datenbanken Martin Gerstmann

Seminar 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

Mehr

INDEXDATEIEN ( INDEXED FILES )

INDEXDATEIEN ( INDEXED FILES ) Indexdateien 1 INDEXDATEIEN ( INDEXED FILES ) ISAM (Indexed Sequential Access Method) Sätze werden nach ihren Schlüsselwerten sortiert. Schlüsselwerte sind immer vergleichbar und daher auch sortierbar.

Mehr

Grundlagen der Programmierung

Grundlagen 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

Mehr

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

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

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2 Hashorganisation HASHORGANISATION Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 982, Kapitel 2.2 Die Sätze der Datei werden auf eine Menge von Buckets aufgeteilt. Jedes Bucket

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil Hash-Verfahren Version vom: 18. November 2016 1 / 28 Vorlesung 9 18. November 2016

Mehr

Grundlagen der Dateisysteme. Daniel Lieck

Grundlagen der Dateisysteme. Daniel Lieck Grundlagen der Dateisysteme Daniel Lieck Einführung Dateisysteme wofür eigentlich? - Ändern, Erstellen, Löschen von Dateien - Strukturierung der Dateien auf Datenträger - Dateiname und rechnerinterne Speicheradressen

Mehr

Hashtabellen. Hashverfahren, was ist das eigentlich?

Hashtabellen. Hashverfahren, was ist das eigentlich? Hashverfahren, was ist das eigentlich? Das Hashverfahren ist ein Algorithmus zum Suchen von Datenobjekten in großen Datenmengen. Es basiert auf der Idee, dass eine mathematische Funktion die Position eines

Mehr

Datenbanksysteme Kapitel 3: Datenorganisation

Datenbanksysteme Kapitel 3: Datenorganisation Datenbanksysteme Kapitel 3: Datenorganisation Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni Prof. Dr. Peter

Mehr

t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen.

t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen. .3 B-Bäume t-äre Bäume können - wie Binärbäume - degenerieren, d.h. durch ungünstige Einfügereihenfolge kann ein unausgewogener Baum mit großer Höhe entstehen. Wird der t-äre Baum zur Verwaltung von Daten

Mehr

6. Anfragebearbeitung

6. Anfragebearbeitung 6. Anfragebearbeitung 6.1 Einleitung 6.2 Indexstrukturen 6.3 Grundlagen der Anfrageoptimierung 6.4 Logische Anfrageoptimierung 6.5 Kostenmodellbasierte Anfrageoptimierung 55 Fokus: Effiziente Berecnung

Mehr

Teil 1: Suchen. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Suchen 1-1

Teil 1: Suchen. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Suchen 1-1 Teil 1: Suchen Problemstellung Elementare Suchverfahren Hashverfahren Idee Hashfunktion Hashverfahren mit Verkettung Offene Hashverfahren Dynamische Hashverfahren Binäre Suchbäume Ausgeglichene Bäume B-Bäume

Mehr

Grundlagen: Algorithmen und Datenstrukturen

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

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,

Mehr

Es sei a 2 und b 2a 1. Definition Ein (a, b)-baum ist ein Baum mit folgenden Eigenschaften:

Es 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

Mehr

Informatik II, SS 2014

Informatik 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

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang Reihungen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/ WS 05/06 2 Ziele Die Datenstruktur der Reihungen

Mehr

Übersicht. Einfache Suche Binäre Suchbäume Hashing Skip-Lists Mengen Sortieren Order-Statistics. 2 Suchen und Sortieren

Übersicht. Einfache Suche Binäre Suchbäume Hashing Skip-Lists Mengen Sortieren Order-Statistics. 2 Suchen und Sortieren Übersicht 2 Einfache Suche Binäre Suchbäume Skip-Lists Mengen Sortieren Order-Statistics (Folie 103, Seite 46 im Skript) Wie können wir eine partielle Funktion {1,..., n} N effizient speichern? Wie können

Mehr

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik Speichern von Daten Prof. Dr. Katharina Morik Unterschiede von DBMS und files! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr

Mehr

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus

2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus 2.7 Bucket-Sort Bucket-Sort ist ein nicht-vergleichsbasiertes Sortierverfahren. Hier können z.b. n Schlüssel aus {0, 1,..., B 1} d in Zeit O(d(n + B)) sortiert werden, indem sie zuerst gemäß dem letzten

Mehr

Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014

Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS Oktober 2014 Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.813 Algorithmen und Datenstrukturen 1 VU 6.0 Nachtragstest SS 2014 22. Oktober

Mehr

Überlaufbehandlung ohne Verkettung

Überlaufbehandlung ohne Verkettung 3.2 Statische Hash-Verfahren direkte Berechnung der Speicheradresse (Seitenadresse) eines Satzes über Schlüssel (Schlüsseltransformation) Hash-Funktion h: S {, 2,..., n} S = Schlüsselraum, n = Größe des

Mehr

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang.   WS 07/08 Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Hashing Maike Buchin 2. und 4.5.2017 Motivation häufig werden Daten anhand eines numerischen Schlüssel abgespeichert Beispiele: Studenten der RUB nach Matrikelnummer Kunden einer

Mehr

Algorithmen und Datenstrukturen II: Hashverfahren

Algorithmen und Datenstrukturen II: Hashverfahren Algorithmen und Datenstrukturen II: Hashverfahren Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 10.05.2017 16:21 Inhaltsverzeichnis Hashverfahren....................................

Mehr

Seite 1 von 13 Name: Aufgabe 1: Suchalgorithmen (a) (4 Punkte ) Gegeben ist folgendes Streckennetz:

Seite 1 von 13 Name: Aufgabe 1: Suchalgorithmen (a) (4 Punkte ) Gegeben ist folgendes Streckennetz: Seite 1 von 13 Aufgabe 1: Suchalgorithmen (a) (4 ) Gegeben ist folgendes Streckennetz: (12 ) B D A F Z C E Zeigen Sie durch Handsimulation wie mit dem Tiefensuch-Algorithmus ein (nicht notwendig optimaler)

Mehr

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

Mehr

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:

Mehr

Informatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1

Informatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Informatik Vorlesung 08 Pointer (Dynamisch) 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Pointer (Zeiger) Dynam. Speicher Bisher: Speicherbedarf muss

Mehr

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden.

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Bemerkung: Die Wahl von a und b hängt wesentlich von der Anwendung

Mehr

Seite 1 von 13 Name: Aufgabe 1: Suchalgorithmen (a) (4 Punkte ) Gegeben ist folgendes Streckennetz:

Seite 1 von 13 Name: Aufgabe 1: Suchalgorithmen (a) (4 Punkte ) Gegeben ist folgendes Streckennetz: Seite 1 von 13 Aufgabe 1: Suchalgorithmen (a) (4 ) Gegeben ist folgendes Streckennetz: (12 ) B D A F Z C E Zeigen Sie durch Handsimulation wie mit dem Breitensuch-Algorithmus ein Weg von nach gefunden

Mehr

Algorithmen und Datenstrukturen 1 VL Übungstest WS Jänner 2009

Algorithmen und Datenstrukturen 1 VL Übungstest WS Jänner 2009 Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 2. Übungstest WS 2008 16. Jänner

Mehr

Kapitel 9: Physische Datenorganisation

Kapitel 9: Physische Datenorganisation Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Kapitel 9: Physische Datenorganisation Vorlesung:

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 11 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 8 Indizes und Suchbäume Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 15 Seite 1 von 15 Agenda 1 Einleitung 2 Binäre Suchbäume

Mehr

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing Algorithmen I Tutorium 1-4. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-09 Überblick 1 Verkettete Listen 2 Unbeschränkte Felder 3 Amortisierte Laufzeitanalyse

Mehr

Algorithmen und Datenstrukturen II: Hashverfahren

Algorithmen und Datenstrukturen II: Hashverfahren Algorithmen und Datenstrukturen II: Hashverfahren Prof. Dr. Oliver Braun Letzte Änderung: 10.05.2017 16:21 Algorithmen und Datenstrukturen II: Hashverfahren 1/28 Hashverfahren bisher jeder Datensatz durch

Mehr

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}

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

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

Grundlagen der Dateisysteme. Daniel Lieck

Grundlagen der Dateisysteme. Daniel Lieck Grundlagen der Dateisysteme Daniel Lieck Einführung Dateisysteme wofür r eigentlich? - Ändern, Erstellen, Löschen L von Dateien - Strukturierung der Dateien auf Datenträger - Dateiname und rechnerinterne

Mehr

Hashverfahren. (Algorithmen und Datenstrukturen II) Prof. Dr. Oliver Braun. Letzte Änderung: :33. Hashverfahren 1/29

Hashverfahren. (Algorithmen und Datenstrukturen II) Prof. Dr. Oliver Braun. Letzte Änderung: :33. Hashverfahren 1/29 Hashverfahren (Algorithmen und Datenstrukturen II) Prof. Dr. Oliver Braun Letzte Änderung: 19.03.2018 07:33 Hashverfahren 1/29 Hashverfahren bisher jeder Datensatz durch eindeutigen Schlüssel k K gekennzeichnet

Mehr

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen 5. Compiler Gliederung 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume

Mehr

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mapra: C++ Teil 4 Felix Gruber IGPM, RWTH Aachen 6. Mai 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mai 2015 1 / 22 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien

Mehr

Baum-Indexverfahren. Einführung

Baum-Indexverfahren. Einführung Baum-Indexverfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k 2.

Mehr

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff

Mehr

Baum-Indexverfahren. Prof. Dr. T. Kudraß 1

Baum-Indexverfahren. Prof. Dr. T. Kudraß 1 Baum-Indexverfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k 2.

Mehr

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

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

Mehr

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164 9. Dateisysteme Eine Datei ist eine Abstraktion für ein Aggregat von Informationen (muß nicht eine Plattendatei sein). Aufbau eines Dateisystems: Katalog (Directory) Einzelne Dateien (Files) Zwei Aspekte

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung 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

Mehr

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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

Datenstrukturen und Algorithmen. Vorlesung 5

Datenstrukturen und Algorithmen. Vorlesung 5 Datenstrukturen und Algorithmen Vorlesung 5 Inhaltsverzeichnis Vorige Woche: Sortierte Listen Zyrkuläre Listen Verkettete Listen auf Arrays Heute betrachten wir: Skip Listen ADT Set ADT Map Iterator ADT

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;

Mehr

Lineare Liste. struct list_element { float f; /* weitere Elemente */ struct list_element *next; /* Zeiger auf Nachfolger-Element */ }; Peter Sobe

Lineare Liste. struct list_element { float f; /* weitere Elemente */ struct list_element *next; /* Zeiger auf Nachfolger-Element */ }; Peter Sobe Lineare Liste Zeigertechnik zum dynamischen Herstellen und Lösen von Verbindungen zwischen Datenelementen Einsatz des Verbundtyps struct {...} in Kombination mit Zeigern. Da das Element selbst eine Struktur

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr. Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also

Mehr