15 Optimales Kodieren

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "15 Optimales Kodieren"

Transkript

1 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 Kodierer C(T ) sind: sollte schnell kodieren sollte eindeutig dekodieren (präx-frei) minimale Kodelänge 15.1 Nötige Denitionen Als Beispiel soll der Text 'SUSANNE' kodiert werden. Folgende Denitionen werden benötigt: T = 'SUSANNE' ist der zu kodierende Text (im allg. eine Information, welche kodiert werden sollte) Z = {S, U, A, N, E} das Alphabet Z = 5 ist die Gröÿe des Alphabets f i ist die Auftrittsfrequenz. z.b.: f S = 2, f U = 1 p i ist die Auftrittswahrscheinlichkeit - z.b.: p S = 2 7, oder p U = 1 7 Die Entropie H(T ) (Pseudoeinheit 'bit') ist die eigentliche Information, die der Text T pro Zeichen enthält: Z H(T ) = p j log 2 p j Wenn man den Text 'SUSANNE' naiv kodiert, dann benötigt man 3 Bits pro Buchstabe. Für den ganzen Text benötigt man 3 7 = 21 Bits. Die Entropie (der eigentliche Informationsgehalt) beträgt aber nur 2.24 Bits pro Buchstabe, was auch die theoretische untere Grenze darstellt. j=1 1

2 Idee: Zeichen die häuger vorkommen, werden mit weniger Bits belegt. Ein Problem, dass dabei auftritt, ist das Präx-Problem. Damit der Kode eindeutig interpretierbar bleibt, darf kein Buchstabe kodiert ein Präx eines anderen Buchstaben sein. Zum Beispiel wenn C(x 1 ) = 10 für 'S' und C(x 2 ) = 100 für 'A' gegeben wäre, dann wäre das Kodestück nicht eindeutig dekodierbar! Darstellung des Kodierers Mit der Darstellung des Kodieres (und gleichzeitig des Dekodierers) als Binärbaum kann man Präxfreiheit garantieren. Die Datenstruktur hat dabei folgende Eigenschaften: Binärbaum (sog. Kodebaum) Werte sind blattorientiert (daher präxfrei) Die Wortlänge entspricht der Astlänge l i Wir suchen jenen Codebaum, der die Codelänge L(C) = n f il i minimiert Eigenschaften von optimalen Codebäumen Bevor wir einen Algorithmus zur Erzeugung eines optimalen Codebaums angeben, betrachten wir zunächst einige Eigenschaften eines optimalen Codebaums. 1. Der optimale Codebaum ist ein voller Binärbaum (d.h., jeder Knoten ist ein Blatt oder hat genau 2 Söhne). Beweis: Sei C ein Codebaum, der einen inneren Knoten k mit Grad 1 besitzt. Dann kann man daraus durch Löschen von k einen Baum C mit einer kleineren Codelänge erzeugen: L(C ) = L(C) f i 1 L(C ) < L(C) i T (k) } {{ } >0 T (k) ist dabei die Menge aller zu codierenden Zeichen (Blätter) unterhalb von k. Durch Löschen des Knotens k (Anhängen des einzigen Unterbaumes an seinen Vater) wird die Länge aller Wörter in T (k) um 1 verkürzt. 1 In der Literatur wird oft der Begri 'prex codes' verwendet. Damit sind aber genau präx-freie Kodes gemeint sind. 2

3 2. Seltene Zeichen sind tiefer im Baum als häuge (f j > f k l j l k ). Beweis: Sei C optimal, aber j, k : f j > f k, l k < l j. Sei C ein Code bei dem die Wörter fur j und k vertauscht sind. Wenn C optimal ist, dann L(C ) L(C) und daher 0 L(C ) L(C) = i f i l i i f i l i = f j l j + f k l k f j l j f k l k = f j l k + f k l j f j l j f k l k = (l k l j ) (f j f k ) < 0, } {{ } } {{ } <0 >0 was einen Widerspruch darstellt. C kann daher nicht optimal sein. 3. Es existiert ein optimaler Codebaum, bei dem die zwei seltensten Zeichen Geschwister sind. Beweis: Sei f 1 f 2... f n, d.h., seien x n, x n 1 die zwei seltensten Zeichen (Anm.: es kann mehrere solche Zeichen geben). x n besitzt das längste Codewort (l n l i, i), denn gäbe es ein Wort x i mit l i > l n würde ein Vertauschen von x i und x n einen kürzeren Code liefern. Dann gilt: (a) x n muss einen Bruder besitzen, da der Binärbaum voll ist, und (b) dieser Bruder muss ein Blatt sein, denn wäre es ein innerer Knoten, gäbe es ein Zeichen x i mit l i > l n (Widerspruch). Sei dieses Blatt x j. Entweder x j = x n 1 oder x j x n 1. Falls x j x n 1, kann man x j und x n 1 vertauschen, ohne L(C) zu verschlechtern: L(C ) L(C) = i f i l i i f i l i 15.4 Human = f n 1 l j + f j l n 1 f n 1 l n 1 f j l j = (f n 1 f j ) (l j l n 1 ) 0. } {{ } } {{ } 0 0 Die Methode nach Human liefert garantiert einen optimalen Kodebaum. Mit folgender Vorgangsweise wird der Kodebaum konstruiert: Erstelle einen 'Wald' mit jeweils einen Baum pro Zeichen. Suche die beiden Bäume mit den kleinsten Wahrscheinlichkeiten und verbinde sie zu einen neuen Baum, welche nun die Summe der Wahrscheinlichkeiten der Unterbäume besitzt. Wiederhole den Vorgang, bis nur noch ein Baum übrig ist. 3

4 Implementierung Der Human-Algorithmus kann sehr eektiv mit einer Warteschlange Q mit Prioritäten implementiert werden, und zwar mit der Datenstruktur Halde. Dabei wird invers geordnet - d.h. das Minimum liegt an der Wurzel der Halde. Dem Algorithmus wird das Alphabet Z mit den zugehörigen Auftrittsfrequenzen f i s übergeben. HUFFMAN (Z,f) 1: n Z 2: INIT_Q (Z) 3: FOR i 1 TO (n-1) 4: z NEUER_KNOTEN 5: LINKS(z) MINIMUM(Q), ENTFERNE_MIN 6: RECHTS(z) MINIMUM(Q), ENTFERNE_MIN 7: f(z) f(x)+f(y) 8: EINFUEGEN(Q,z) 9: RETURN MINIMUM(Q) Analyse: Alle Operationen der Warteschlange mit Prioritäten (mit einer Halde implementiert) können in O(log n) durchgeführt werden. Dabei werden sie innerhalb der Schleife n 1 mal aufgerufen, d.h. T (n) = O(n log n) Beweis der Optimalität von Human Sei Z = {x 1, x 2,..., x n } das zu kodierende Alphabet mit den Auftrittswahrscheinlichkeiten f 1 f 2... f n. Der Human-Algorithmus bestimmt den Codebaum für Z aus dem Codebaum für Z = Z \ {x n 1, x n } {w}, mit f(w) = f n 1 + f n. Der Beweis erfolgt mittels vollständiger Induktion: Der Human-Algorithmus liefert oensichtlich einen optimalen Codebaum für Z = 2. zu zeigen: Ist B ein optimaler Codebaum für Z, ist B auch ein optimaler Codebaum für Z. Es gilt l i = l i i = 1,..., n 2 l n 1 = l n = l(w) + 1 4

5 Für die Codelänge von B ergibt sich damit L(B) = n f i l i = f n l n + f n 1 l n 1 + f i l i = (f n + f n 1 )(l(w) + 1) + f i l i = f(w)l(w) + f(w) + f i l i = f(w) + L(B ). Sei B nicht optimal, d.h., B : L( B) < L(B), und B hat x n, x n 1 als Geschwister. Daraus kann man wiederum einen Baum B erzeugen, durch Ersetzen von x n, x n 1 durch w. Dann gilt: L( B) < L(B) f(w) + L( B ) < f(w) + L(B ) L( B ) < L(B ), was aber ein Widerspruch zur Annahme der Optimalität von B ist. 5

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert.

Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. Anwendungen von Bäumen 4.3.2 Huffman Code Problem: Finde für Alphabet mit n Zeichen einen Binärcode, der die Gesamtlänge eines Textes (über diesem Alphabet) minimiert. => nutzbar für Kompression Code fester

Mehr

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 13 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

3 Quellencodierung. 3.1 Einleitung

3 Quellencodierung. 3.1 Einleitung Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im

Mehr

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele Organisation Was kommt zum Test? Buch Informatik Grundlagen bis inkl Kapitel 74 Wissensfragen und Rechenbeispiele 3 Vorträge zur Übung Informationstheorie, Huffman-Codierung und trennzeichenfreie Codierung

Mehr

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Codierung Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Ein bisschen Informationstheorie Betrachten wir das folgende Problem: Wie lautet eine sinnvolle Definition für das quantitative

Mehr

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

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

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

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

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO INF.02031UF (2-4)-Bäume robert.legenstein@igi.tugraz.at 1 7. Bäume Bäume als Datenstruktur Binärbäume Balancierte Bäume (2-4)-Bäume Anwendung: Mischbare Warteschlangen

Mehr

11.1 Grundlagen - Denitionen

11.1 Grundlagen - Denitionen 11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Mathematik für Information und Kommunikation

Mathematik 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

Mehr

Run Length Coding und Variable Length Coding

Run Length Coding und Variable Length Coding Fachbereich Medieninformatik Hochschule Harz Run Length Coding und Variable Length Coding Referat Matthias Zittlau 11034 Abgabe: 15.01.2007 Inhaltsverzeichnis 1. RLC...1 2.1 Einführung...1 2.2 Prinzip...1

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Datenstrukturen und Algorithmen

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

Mehr

Algorithmen und Datenstrukturen

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

Mehr

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005 CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005. Das Problem.. Quellcodierung und Datenkompression. Wir wollen eine Nachricht über einen digitalen Kanal, der nur 0 oder übertragen kann, schicken.

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Graphen und Bäume. A.1 Graphen

Graphen und Bäume. A.1 Graphen Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt

Mehr

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

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

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

Mehr

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen Suchbaum Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression

Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Einführung in die Informatik II Aus der Informationstheorie: Datenkompression Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2 2. Juli 2 Copyright 2 Bernd

Mehr

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Kapitel 7 Fortgeschrittene Datenstrukturen Motivation: Lineare Liste: Suchen eines Elements ist schnell O(log n) Einfügen eines Elements ist langsam

Mehr

Übung: Algorithmen und Datenstrukturen SS 2007

Übung: Algorithmen und Datenstrukturen SS 2007 Übung: Algorithmen und Datenstrukturen SS 07 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 8 Votierung in der Woche vom 25.06.0729.06.07 Aufgabe 22 AVL-Bäume (a) Geben

Mehr

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

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

Mehr

Gierige Algorithmen Interval Scheduling

Gierige Algorithmen Interval Scheduling Gierige Algorithmen Interval Scheduling IntervalScheduling(s,f). n length[s] 2. A {} 3. j 4. for i 2 to n do 5. if s[i] f[j] then 6. A A {i} 7. j i 8. return A Gierige Algorithmen Interval Scheduling Beweisidee:

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

Suchen und Sortieren Sortieren. Heaps

Suchen und Sortieren Sortieren. Heaps Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die

Mehr

(Prüfungs-)Aufgaben zur Codierungstheorie

(Prüfungs-)Aufgaben zur Codierungstheorie (Prüfungs-)Aufgaben zur Codierungstheorie 1) Gegeben sei die folgende CCITT2-Codierung der Dezimalziffern: Dezimal CCITT2 0 0 1 1 0 1 1 1 1 1 0 1 2 1 1 0 0 1 3 1 0 0 0 0 4 0 1 0 1 0 5 0 0 0 0 1 6 1 0 1

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume 1 Kapitel 13 Ziele 2 Den Begriff des Baums in der Informatik kennenlernen als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf n verstehen und schreiben können Verschiedene Möglichkeiten

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Prioritätswarteschlangen Maike Buchin 18. und 23.5.2017 Prioritätswarteschlange Häufiges Szenario: dynamische Menge von Objekten mit Prioritäten, z.b. Aufgaben, Prozesse, in der

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine 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

Mehr

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum

Informatik 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

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei

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

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

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

Referat zum Thema Huffman-Codes

Referat zum Thema Huffman-Codes Referat zum Thema Huffman-Codes Darko Ostricki Yüksel Kahraman 05.02.2004 1 Huffman-Codes Huffman-Codes ( David A. Huffman, 1951) sind Präfix-Codes und das beste - optimale - Verfahren für die Codierung

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Übrigens: um den Algorithmus im Unterricht einzuführen, sind keine Formeln notwendig! Warum reicht die normale ASCII-Codierung nicht aus?

Ü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"

Mehr

Übung zur Vorlesung Algorithmische Geometrie

Übung zur Vorlesung Algorithmische Geometrie Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)

Mehr

Einleitung. Kapitel 1

Einleitung. Kapitel 1 Kapitel 1 Einleitung In diesem Abschnitt geben wir einen kurzen Überblick über den Inhalt der Vorlesung. Wir werden kurz die wesentlichen Probleme erläutern, die wir ansprechen wollen. Wir werden auch

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

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

Lenstras Algorithmus für Faktorisierung

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

Mehr

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

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

Mehr

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

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

Mehr

Proseminar WS 2002/2003

Proseminar WS 2002/2003 Technische Universität Chemnitz Fakultät für Informatik Professur Theoretische Informatik Proseminar WS 2002/2003 Thema: Datenkompression Dynamisches / Adaptives Huffman-Verfahren Danny Grobe Rainer Kuhn

Mehr

Suchen in linearen Feldern. Datenstrukturen & Algorithmen. Laufzeitverhalten der Suchverfahren. Anzahl der Vergleiche für 10 9 Elemente

Suchen in linearen Feldern. Datenstrukturen & Algorithmen. Laufzeitverhalten der Suchverfahren. Anzahl der Vergleiche für 10 9 Elemente Suchen in linearen Feldern Datenstruturen & Algorithmen VO 708.031 11. Vorlesung, am 11.Dez. 2008 Ohne Vorsortierung Sequentielle Suche Speicherung nach Zugriffswahrscheinlicheiten Selbstanordnende Felder

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Algorithmen und Datenstrukturen Heapsort

Algorithmen und Datenstrukturen Heapsort Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das

Mehr

Präfixcodes und der Huffman Algorithmus

Präfixcodes und der Huffman Algorithmus Präfixcodes und der Huffmn Algorithmus Präfixcodes und Codebäume Im Folgenden werden wir Codes untersuchen, die in der Regel keine Blockcodes sind. In diesem Fll können Codewörter verschiedene Länge hben

Mehr

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag)

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag) Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll Lösungsvorschläge der Klausur zu Einführung in die Informatik II Aufgabe 1 Transferfragen (Lösungsvorschlag)

Mehr

Kap. 4.2: Binäre Suchbäume

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

Mehr

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

Mehr

Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.

Kurs 1663 Datenstrukturen Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom 15.08.98 Seite 1 Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15. August 1998 Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur

Mehr

Kryptographie und Codierung für den Mathematikunterricht

Kryptographie und Codierung für den Mathematikunterricht Kryptographie und Codierung für den Mathematikunterricht Pädagogische Hochschule Karlsruhe University of Education École Supérieure de Pédagogie Institut für Mathematik und Informatik Th. Borys Was verstehst

Mehr

Rotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y

Rotation. y T 3. Abbildung 3.10: Rotation nach rechts (analog links) Doppelrotation y Die AVL-Eigenschaft soll bei Einfügungen und Streichungen erhalten bleiben. Dafür gibt es zwei mögliche Operationen: -1-2 Rotation Abbildung 3.1: Rotation nach rechts (analog links) -2 +1 z ±1 T 4 Doppelrotation

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

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

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume

Mehr

Praktikum BKSPP. Aufgabenblatt Nr. 1. 1 Umrechnung zwischen Stellenwertsystemen

Praktikum BKSPP. Aufgabenblatt Nr. 1. 1 Umrechnung zwischen Stellenwertsystemen Dr. David Sabel Institut für Informatik Fachbereich Informatik und Mathematik Johann Wolfgang Goethe-Universität Frankfurt am Main Praktikum BKSPP Sommersemester 21 Aufgabenblatt Nr. 1 Abgabe: Mittwoch,

Mehr

Informationssysteme SS 2013 Lösungsvorschläge zu Übungsblatt 2. Übungsblatt 2. Für die Übungen in der Woche vom 29. April bis 03.

Informationssysteme SS 2013 Lösungsvorschläge zu Übungsblatt 2. Übungsblatt 2. Für die Übungen in der Woche vom 29. April bis 03. Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Fachbereich Informatik Technische Universität Kaiserslautern Übungsblatt 2 Für die Übungen in der Woche vom 29. April bis 03. Mai 2013 Aufgabe

Mehr

Dynamische Mengen. Realisierungen durch Bäume

Dynamische Mengen. Realisierungen durch Bäume Dynamische Mengen Eine dynamische Menge ist eine Datenstruktur, die eine Menge von Objekten verwaltet. Jedes Objekt x trägt einen eindeutigen Schlüssel key[x]. Die Datenstruktur soll mindestens die folgenden

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen 4.3.2 Zusammengesetzte Zufallsvariablen Beispiel 48 Ein Würfel werde zweimal geworfen. X bzw. Y bezeichne die Augenzahl im ersten bzw. zweiten Wurf. Sei Z := X + Y die Summe der gewürfelten Augenzahlen.

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

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

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

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Heaps Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 469 Prioritätswarteschlange Problem Häufig ist das Prinzip einer einfachen Warteschlangen-Datenstruktur

Mehr

Greedy Algorithmen. Grundlegendes. Organisatorisches. VL-21: Greedy Algorithmen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger

Greedy Algorithmen. Grundlegendes. Organisatorisches. VL-21: Greedy Algorithmen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Organisatorisches VL-21: Greedy Algorithmen (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

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

Mehr

Untere Schranke für allgemeine Sortierverfahren

Untere Schranke für allgemeine Sortierverfahren Untere Schranke für allgemeine Sortierverfahren Prinzipielle Frage: wie schnell kann ein Algorithmus (im worst case) überhaupt sein? Satz: Zum einer Folge von n Keys mit einem allgemeinen Sortierverfahren

Mehr

Algorithmen und Datenstrukturen 2-1. Seminar -

Algorithmen und Datenstrukturen 2-1. Seminar - Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1 Kapitel 14 Bäume Bäume 1 Ziele Den Begriff des Baums in der Informatik kennenlernen Bäume als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf Bäumen verstehen und schreiben können

Mehr