Tutorium Algorithmen & Datenstrukturen



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

13. Binäre Suchbäume

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

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

Datenstrukturen & Algorithmen

Algorithmen und Datenstrukturen Suchbaum

Kap. 4.2: Binäre Suchbäume

Datenstrukturen und Algorithmen

Binäre Bäume Darstellung und Traversierung

Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

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

WS 2009/10. Diskrete Strukturen

Informatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany Stammbaum. Stammbaum. Stammbaum

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Programmiertechnik II

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

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

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

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:

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

Vorkurs Informatik WiSe 15/16

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

Nachtrag zu binären Suchbäumen

Grundlagen der Programmierung 2. Bäume

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

Beispiel zu Datenstrukturen

Algorithmen und Datenstrukturen Balancierte Suchbäume

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 )

15 Optimales Kodieren

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

Suchen und Sortieren

R-Baum R + -Baum X-Baum M-Baum

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

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

Zeichen bei Zahlen entschlüsseln

Kurs 1613 Einführung in die imperative Programmierung

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

DATENSTRUKTUREN UND ZAHLENSYSTEME

Peer-to-Peer- Netzwerke

Zeichnen von Graphen. graph drawing

Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16

1 topologisches Sortieren

Algorithmen und Datenstrukturen 2

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

Codes und Informationsgehalt

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

Anmerkungen zur Übergangsprüfung

Navigieren auf dem Desktop

Algorithmen und Datenstrukturen

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

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

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. SS 06

Algorithmen & Datenstrukturen 1. Klausur

Software Engineering Klassendiagramme Assoziationen

Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel

Binärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme

Algorithmen und Datenstrukturen Bereichsbäume

Suchen und Sortieren Sortieren. Heaps

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

Binärbäume. Prof. Dr. E. Ehses,

WS 2013/14. Diskrete Strukturen

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

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Tutoren Jan Ebbe Pat Mächler Valentino Rugolo Sascha Scherrer. Grundlagen der Programmierung (CS101) - Blatt 8 Theorie [4 Punkte] - Praxis [12 Punkte]

Kurzanweisung für Google Analytics

Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung bis

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

Zahlenmauern. Dr. Maria Koth. Ausgehend von dieser einfachen Bauvorschrift ergibt sich eine Vielzahl an möglichen Aufgabenstellungen.

Programmiersprachen und Übersetzer

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Professionelle Seminare im Bereich MS-Office

Anwendungsbeispiele Buchhaltung

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen

WS 2008/09. Diskrete Strukturen

Konzepte der Informatik

Leichte-Sprache-Bilder

Zugriff auf die Modul-EEPROMs

Einfügen von Bildern innerhalb eines Beitrages

Repetitionsaufgaben Wurzelgleichungen

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

Guten Morgen und Willkommen zur Saalübung!

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

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

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

2.11 Kontextfreie Grammatiken und Parsebäume

Binäre Suchbäume. Ein Leitprogramm von Timur Erdag und Björn Steffen

Benutzerkonto unter Windows 2000

EndTermTest PROGALGO WS1516 A

Die Post hat eine Umfrage gemacht

Über Arrays und verkettete Listen Listen in Delphi

Grundwissen Informatik 6. Jahrgangsstufe

Bedienungsanleitung für den Online-Shop

Tutoren Simon Andermatt Lukas Beck. Alexis Peter Thomas Ritter

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

Kapitel 5: Dynamisches Programmieren Gliederung

Transkript:

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 Unterbaum Ordnung der Knoten ist relevant - beim normalen geordneten Baum ist Anordnung der Kindknoten egal voller Binärbaum: jeder Knoten hat entweder 2 Kinder oder ist ein Blatt Anzahl der Blätter bei Tiefe h ist 2 h Anzahl der internen Knoten ist 2 h 1

Beispiel: Binärer Baum Figure: Bin-tree.svg, Falk M, Wikimedia, 18.01.2009

Binärer Suchbaum binärer Baum idr als verkettete Datenstruktur realisiert: Objekte mit: Pointer zu Vater-Knoten Pointer zu linkem Unterbaum Pointer zu rechtem Unterbaum Schlüssel binary-search-tree property: Denition X sei ein Knoten in einem binären Suchbaum. Wenn Y ein Knoten im linken Unterbaum von X ist, dann ist key[y] key[x]. Wenn Y ein Knoten im rechten Unterbaum von X ist, dann ist key[x] key[y]

Beispiel: Binärer Suchbaum Figure: Binary_search_tree.svg, ursprünglich erstellt von Derrick Coetzee, Wikimedia, 17.01.2009

Traversierung (Wikipedia, en) 1 preorder ( knoten ): 2 print ( knoten ) 3 if ( knoten. links!= NIL ) then 4 preorder ( knoten. links ) 5 if ( knoten. rechts!= NIL ) then 6 preorder ( knoten. rechts ) 1 postorder ( knoten ): 2 if ( knoten. links!= null ) then 3 postorder ( knoten. links ) 4 if ( knoten. rechts!= null ) then 5 postorder ( knoten. rechts ) 6 print knoten 1 inorder ( knoten ): 2 if ( knoten. links!= NIL ) then 3 inorder ( knoten. links ) 4 print knoten 5 if ( knoten. rechts!= NIL ) then 6 inorder ( knoten. rechts )

Quellen Code: http://de.wikipedia.org/wiki/bin%c3%a4rer_baum Revision 74255630 Denitionen: Cormen et al, Introduction to Algorithms, 2nd Edition

Trie Baum, in dem Strings gespeichert sind Jede Kante mit einem Zeichen beschriftet Suchen (von Einträgen und evtl damit assoziierten Werten) durch Abstieg im Baum

Beispiel: Trie Figure: Trie_example.svg, Booyabazooka, 15.07.2006, Wikimedia

Radix Trie fast genau wie Trie Kanten sind nicht mit einzelnen Zeichen beschriftet, sondern Substrings Knoten mit nur einem Blatt als Kind: Blatt und Vater werden zusammengefasst

Indexed Trie fast genau wie Trie Unterbäume in Array gespeichert, nicht in Liste (?)

Patricia Trie fast genau wie Radix Tree innere Ketten - also Knoten, die jeweils einen eingehenden und einen ausgehenden Pointer haben, werden zusammengefasst bei Radix Trie: nur von Blatt-Knoten ausgehend zusammenfassbar

Quellen Bilder: Wikimedia Commons, siehe Bildunterschrift Cormen et al, Introduction to Algorithms, 2nd Edition Übungsblatt 8

Rot-Schwarz-Bäume: Motivation Geschwindigkeit binärer Suchbäume abhängig von Höhe des Baumes Nur gut, falls Baum annähernd balanciert andernfalls können binäre Suchbäume zu verketteten Listen degenerieren, in Abhängigkeit von Reihenfolge des Einfügens

Rot-Schwarz-Bäume: Eigenschaften 1 Jeder Knoten ist rot oder schwarz 2 Die Wurzel ist schwarz 3 Jedes Blatt ist schwarz 4 Wenn ein Knoten rot ist, sind beide Kinder schwarz 5 Für jeden Knoten: alle Pfade vom Knoten bis zu den Blättern enthalten die gleiche Zahl schwarzer Knoten

Quellen Cormen et al, Introduction to Algorithms, 2nd Edition