Binäre Suchbäume. 6. Binäre Suchbäume. Einfügen in binären Suchbäumen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Binäre Suchbäume. 6. Binäre Suchbäume. Einfügen in binären Suchbäumen"

Transkript

1 6. Binäre Sucbäume Natürlice binäre Sucbäume - Begriffe und Definitionen - Grundoperationen: Einfügen, sequentielle Suce, direkte Suce, öscen - Bestimmung der mittleren Zugriffskosten Balancierte Binärbäume AV-Baum - Einfügen mit otationstpen - öscen mit otationstpen - Höe von AV-Bäumen Gewictsbalancierte Binärbäume Positionssuce mit balancierten Bäumen (ösung des Auswalproblems Binäre Sucbäume Def.: Ein natürlicer binärer Sucbaum B ist ein Binärbaum; er ist entweder leer oder jeder Knoten in B entält einen Sclüssel und: ( alle Sclüssel im linken Unterbaum von B sind kleiner als der Sclüssel in der Wurel von B (2 alle Sclüssel im recten Unterbaum von B sind größer als der Sclüssel in der Wurel von B (3 die linken und recten Unterbäume von B sind auc binäre Sucbäume. Beispiel: 4 Grundoperationen: - Einfügen - direkte Suce - sequentielle Suce - öscen Einfügen in binären Sucbäumen Neue Knoten werden immer als Blätter eingefügt Suce der Einfügeposition: Ausseen des Baumes wird durc die Folge der Einfügungen bestimmt: reienfolgeabängige Struktur n Sclüssel erlauben n! versciedene Sclüsselfolgen Einfüge( ==> Einfügereienfolge : Einfügereienfolge 2: KANT, EIBNIZ, HEGE,, OCKE, SOCATES, EIBNIZ, DESCATES, CANAP,, SPINOZA, DESCATES, CANAP, FEGE, PATON SOCATES, FEGE, OCKE, KANT, HEGE, PATON, SPINOZA KANT EIBNIZ DESCATES CANAP FEGE HEGE KANT < OCKE SOCATES PATON > SPINOZA Einfügen in binären Sucbäumen (2 class BinarNode { BinarNode lcild = null; BinarNode rcild = null; Orderable ke = null; /** Konstruktor */ BinarNode(Orderable ke { tis.ke = ke; public class BinarSearcTree { private BinarNode root = null;... public void insert(orderable ke trows TreeEception { root = insert(root, ke; protected BinarNode insert(binarnode node, Orderable ke trows TreeEception { if (node == null return new BinarNode(ke; else if (ke.less(node.ke node.lcild = insert(node.lcild, ke; else if (ke.greater(node.ke node.rcild = insert(node.rcild, ke; else trow new TreeEception("Scluessel scon voranden!"; return node;

2 Suce in binären Sucbäumen. Sequentielle Suce Einsat eines Durclauf-Algoritmus (Zwiscenordnung 2. Direkte Suce: Vorgeensweise wie bei Suce nac Einfügeposition Sucen eines Knotens (rekursive Version: /** ekursive Suce eines Scluessels im Baum */ public boolean searcec (Orderable ke { return searcec(root, ke; /** ekursive Suce eines Scluessels im Teilbaum */ protected boolean searcec (BinarNode node, Orderable ke { if (node == null return false; // nict gefunden if (ke.less(node.ke return searcec(node.lcild, ke; // suce im linken Teilbaum if (ke.greater(node.ke return searcec(node.rcild, ke; // suce im recten Teilbaum return true; // gefunden Sucen (2 Sucen (iterative Version: public boolean searciter (Orderable ke { BinarNode node = root; do { if (node == null return false; // nict gefunden if (ke.less(node.ke node = node.lcild; // suce im linken Teilbaum else if (ke.greater(node.ke node = node.rcild; // suce im recten Teilbaum else return true; // gefunden wile (true; öscen in binären Sucbäumen öscen ist am kompliiertesten Fall : ist Blatt Fall 2/3: at leeren linken/recten Unterbaum Fall 4: at wei nict-leere k r Unterbäume Heranieen des größten Sclüssels im linken Unterbaum (g l oder des kleinsten Sclüssels im recten Unterbaum (k r g l k r - Alternative: Jeder u löscende Knoten wird speiell markiert; bei Suc- und Einfügevorgängen wird er gesondert beandelt öscen in binären Sucbäumen (2 ösce (OCKE FEGE OCKE FEGE DESCATES HEGE KANT SPINOZA DESCATES PATON HEGE CANAP EIBNIZ CANAP SOCATES ösce (DESCATES ösce (FEGE KANT PATON SPINOZA KANT PATON SPINOZA EIBNIZ SOCATES EIBNIZ SOCATES

3 Binäre Sucbäume: Zugriffskosten Kostenmaß: Anal der aufgesucten Knoten bw. Anal der benötigten Sucscritte oder Sclüsselvergleice. Kosten der Grundoperationen - sequentielle Suce: - Einfügen, öscen, direkte Suce Bestimmung der mittleren Zugriffskosten (direkte Suckosten - Mittlere Zugriffskosten eines Baumes B erält man durc Berecnung seiner gesamten Pfadlänge P als Summe der ängen der P( B = Stufe( K n Pfade von der Wurel bis u jedem Knoten K i. i i = - mit n i = Zal der Knoten auf Stufe i gilt P( B = i n i und n i = n = gesamte Knotenal i = i = - Die mittlere Pfadlänge ergibt sic u Beispiel: p = P / n - Da bei jedem Zugriff noc auf die = p + = -- ( i + n Wurel ugegriffen werden muß, erält n i i = man 2 3 Binäre Sucbäume: Zugriffskosten (2 Maimale Zugriffskosten - Die längsten Sucpfade und damit die maimalen Zugriffskosten ergeben sic, wenn der binäre Sucbaum u einer linearen iste entartet - Höe: = l ma + = n - Maimale mittlere Zugriffskosten: n ( n+ ( n+ -- ma = ( i+ n = n = = O( n 2n 2 i = Minimale (mittlere Zugriffskosten: können in einer fast vollständigen oder ausgeglicenen Baumstruktur erwartet werden - Gesamtal der Knoten: - Höe = log 2 n + - Minimale mittlere Zugriffskosten: < n 2 min log 2 n Stufe Binäre Sucbäume: Zugriffskosten (3 Durcscnittlice Zugriffskosten - Etremfälle der mittleren Zugriffskosten sind wenig aussagekräftig: - Wie groß sind und bei n=, 3, 6 min ma,...? - Differen der mittleren u den minimalen Zugriffskosten ist ein Maß für Dringlickeit von Balancierungstecniken Bestimmung der mittleren Zugriffskosten - n versciedene Sclüssel mit den Werten, 2,..., n seien in ufälliger eienfolge gegeben. Die Warsceinlickeit, daß der erste Sclüssel den Wert i besitt, ist /n (Anname: gleice Zugriffswarsceinlickeit auf alle Knoten - Für den Baum mit i als Wurel eralten wir Knoten Knoten i n ( i = -- (( n i + ( i + + ( n i + ( n i n i - Die ekursionsgleicung läßt sic in nict-rekursiver, gesclossener Form mit Hilfe der armoniscen n Funktion H n = -- darstellen. - Es ergibt sic n = 2 3 = 2 ln(n - c. - elative Merkosten: i i = ( n H n n n 2ln( n c 2ln( n c = = 2ln( 2 =,386 log min 2 ( n log 2 ( n i - i n n - i Balancierte Binärbäume Der ausgeglicene binäre Sucbaum verursact für alle Grundoperationen die geringsten Kosten Perfekte Balancierung u jeder Zeit kommt jedoc ser teuer. - In welcem Maße sollen Strukturabweicungen bei Einfügungen und öscungen toleriert werden? Balancierte Bäume Einfüge ( - Ziel: scneller direkten Zugriff mit ma O( log 2 n sowie Einfüge- und öscoperationen mit logaritmiscen Aufwand - Heuristik: für jeden Knoten im Baum soll die Anal der Knoten in jedem seiner beiden Unterbäume möglicst gleic gealten werden - Zwei untersciedlice Vorgeensweisen: ( die ulässige Höendifferen der beiden Unterbäume ist bescränkt (=> öenbalancierte Bäume (2 das Verältnis der Knotengewicte der beiden Unterbäume erfüllt gewisse Bedingungen (=> gewictsbalancierte Bäume

4 k-balancierter Binärbaum Def.: Seien ( und ( die linken und recten Unterbäume eines Knotens. Weiterin sei (B die Höe eines Baumes B. Ein k-balancierter Binärbaum ist entweder leer oder es ist ein Baum, bei dem für jeden Knoten gilt: k läßt sic als Maß für die ulässige Entartung im Vergleic ur ausgeglicenen Baumstruktur auffassen Prinip B ( l ( B ( r ( k B ( l ( B ( r ( B ( l ( B ( r ( = = AV-Baum benannt nac russiscen Matematikern: Adelson-Velski und andis Def.: Ein -balancierter Binärbaum eißt AV-Baum -> Balancierungskriterium: B ( l ( B ( r ( Konstruktionsprinip: - und seien AV-Bäume der Höe und. Dann sind die nacfolgend dargestellten Bäume auc AV-Bäume: DUBIN B ( l ( B ( r ( = B ( l ( B ( r ( = Sucoperationen wie für allgemeine binäre Sucbäume AV-Baum: Wartungsalgoritmen Wann und wo ist das AV-Kriterium beim Einfügen verlett? - Es kann sic nur die Höe von solcen Unterbäumen verändert aben, deren Wureln auf dem Sucpfad von der Wurel des Baumes um neu eingefügten Blatt liegen - eorganisationsoperationen lassen sic lokal begrenen; es sind öcstens Knoten betroffen Def.: Der Balancierungsfaktor BF( eines Knotens ergibt sic u BF( = ( ( - ( (. Knotendefinition class AVNode { int BF = ; AVNode lcild = null; AVNode rcild = null; Orderable ke = null; /** Konstruktor */ AVNode(Orderable ke { tis.ke = ke; Einfügen in AV-Bäumen Sobald ein BF( durc eine Einfügung verlett wird, muß eine ebalancierung des Baumes durc sog. otationen durcgefürt werden. - Ausgangspunkt der otation ist der näeste Vater des neu eingefügten Knotens mit BF = Dieser Knoten dient ur Bestimmung des otationstps. Er wird durc die von diesem Knoten ausgeende Kantenfolge auf dem Pfad um neu eingefügten Knoten festgelegt. otationstpen Es treten vier versciedene otationstpen auf. Der neu einufügende Knoten sei X. Y sei der beüglic der otation kritisce Knoten - der näeste Vater von X mit BF = + 2. Dann bedeutet: - : X wird im recten Unterbaum des recten Unterbaums von Y eingefügt (inksrotation - : X wird im linken Unterbaum des linken Unterbaums von Y eingefügt (ectsrotation - : X wird im linken Unterbaum des recten Unterbaums von Y eingefügt (Doppelrotation - : X wird im recten Unterbaum des linken Unterbaums von Y eingefügt (Doppelrotation Die Tpen und sowie und sind smmetrisc ueinander

5 Einfügen in AV-Bäumen (2 neuer Sclüssel nac Einfügung nac ebalancierung ectsrotation Einfügen in AV-Bäumen (3 neuer Sclüssel nac Einfügung nac ebalancierung inksrotation Doppelrotation Einfügen in AV-Bäumen (3 neuer Sclüssel nac Einfügung nac ebalancierung Doppelrotation B Einfügen in AV-Bäumen (4 Balancierter Unterbaum nac Einfügung ebalancierter Unterbaum otationstp (ectsrotation otationstp (inksrotation B B B B B

6 B Einfügen in AV-Bäumen (5 otationstp ( ist smmetrisc Balancierter Unterbaum nac Einfügung ebalancierter Unterbaum l 3 B r l B l r +3 r ( ( B B 2 l l 3 inksrotation von / 3 + ectsrotation von / 3 r 3 r öscen in AV-Bäumen öscen eines Blattes bw. eines andknotens ( ma. Son ösce ( - Höenreduierung ändert Balancierungsfaktoren der Vaterknoten - ebalancierung für UB der Vorgängerknoten mit BF = +/- 2 - ggf. fortgesette ebalancierung (nur möglic für Knoten mit BF = +/- 2 auf dem Weg vom u löscenden Element ur Wurel öscen eines Knotens (Sclüssel mit 2 Sönen kann auf öscen für Blatt/andknoten urückgefürt werden - wird ersett durc kleinsten Sclüssel im recten Unterbaumbaum von (oder größten Sclüssel im linken Unterbaum - fürt ur Änderung des Balancierungsfaktors für v (Höe des linken Unterbaums von v at sic um reduiert v v v v öscen in AV-Bäumen (2 Bis auf Smmetrie treten nur 3 Fälle auf: Fall : öscen in v B l B r In diesem Fall pflant sic Höenerniedrigung nict fort, da in der Wurel das AV-Kriterium erfüllt bleibt. -> kein ebalancieren erforderlic. Fall 3a: öscen in AV-Bäumen (3 B B 4 Fall 2: l B Fall 3: öscen in öscen in Die Höenerniedrigung von pflant sic ier ur Wurel in fort. Sie kann auf diesem Pfad eine ebalancierung auslösen. Für die Beandlung dieser Situation ist der linke Unterbaum in größerem Detail u betracten. Dabei ergeben sic die 3 Unterfälle: Fall 3b: - ectsrotation fürt ur Erfüllung des AV-Kriteriums - Unterbaum beält ursprünglice Höe - keine weiteren ebalancierungen erforderlic B - ectsrotation reduiert Höe des gesamten UB von nac - Höenreduierung pflant sic auf dem Pfad ur Wurel in fort und kann u weiteren ebalancierungen füren. B B

7 Fall 3c: öscen in AV-Bäumen (5 B 6 B 7 B 5 - Doppelrotation (-> Höenerniedrigung - ggf. fortgesette ebalancierungen B 6 B 7 öscen in AV-Bäumen (6 ebalancierungsscritte beim öscen:. Suce im öscpfad näesten Vater mit BF = Füre otation im gegenüberliegenden Unterbaum dieses Vaters aus. Im Gegensat um Einfügevorgang kann ier eine otation wiederum eine ebalancierung auf dem Pfad ur Wurel auslösen, da sie in gewissen Fällen auf eine Höenerniedrigung des transformierten Unterbaums fürt. Die Anal der ebalancierungsscritte ist jedoc durc die Höe des Baums begrent Beispiel-öscvorgang: ösce ( MADID MADID Höe von AV-Bäumen Balancierte Bäume wurden als Kompromiß wiscen ausgeglicenen und natürlicen Sucbäumen eingefürt, wobei logaritmiscer Sucaufwand im sclectesten Fall gefordert wurde Für die Höe b eines AV-Baumes mit n Knoten gilt: log 2 ( n + b,44 log 2 ( n+ MADID MADID - Die obere Scranke läßt sic durc sog. Fibonacci-Bäume, eine Unterklasse der AV-Bäume, erleiten. Definition für Fibonacci-Bäume (Konstruktionsvorscrift - Der leere Baum ist ein Fibonacci-Baum der Höe. - Ein einelner Knoten ist ein Fibonacci- Baum der Höe. - Sind B und B Fibonacci-Bäume der Höe und, so ist B = B,, B 2 ein Fibonacci-Baum der Höe - Keine anderen Bäume sind Fibonacci- Bäume B B B 2 B 4 n = n = n 2 =2 n 3 =4 n 4 =7 n 5 =

8 Gewictsbalancierte Sucbäume Gewictsbalancierte oder BB-Bäume (bounded balance Zulässige Abweicung der Struktur vom ausgeglicenen Binärbaum wird als Differen wiscen der Anal der Knoten im recten und linken Unterbaum festgelegt Def.: Sei B ein binärer Sucbaum mit linkem Unterbaum und sei n (n l die Anal der Knoten in B (. - ρ(b = (n l /(n eißt die Wurelbalance von B. - Ein Baum B eißt gewictsbalanciert (BB(α oder von bescränkter Balance α, wenn für jeden Unterbaum B von B gilt: α <= ρ (B <= - α Gewictsbalancierte Sucbäume (2 Parameter α als Freieitsgrad im Baum - α = /2: Balancierungskriterium akeptiert nur vollständige Binärbäume - α < /2: Strukturbescränkung wird unemend gelockert Welce Auswirkungen at die ockerung des Balancierungskriteriums auf die Kosten? Beispiel: Gewictsbalancierter Baum in BB (α für α = 3 / JUPITE MAS PUTO at n l Knoten B K B at n Knoten ebalancierung - ist gewärleistet durc eine Wal von α <= - 2 /2 - Einsat derselben otationstpen wie beim AV-Baum EDE NEPTUN MEKU SATUN UANUS VENUS Kosten für Suce und Aktualisierung: O (log 2 n Positionssuce mit balancierten Bäumen Balancierte Sucbäume - sind linearen isten in fast allen Grundoperationen überlegen - ösung des Auswalproblems bw. Positionssuce (Suce nac k-tem Element der Sortierreienfolge kann jedoc noc verbessert werden Def.: Der ang eines Knotens ist die um eröte Anal der Knoten seines linken Unterbaums - Blattknoten aben ang Verbesserung bei Positionssuce durc Auf- NIOB name des angs in jedem EISEN ZINK Knoten Beispiel für AV- Baum: ASEN A- GON B CHO BEI JOD FUO SEEN NEON XENON ZINN Positionssuce (2 angalen erlauben Bestimmung eines direkten Sucpfads im Baum für Positionssuce nac dem k-ten Element - Position p := k; beginne Suce am Wurelknoten - Wenn ang r eines Knotens = p gilt: Element gefunden - falls r > p, suce im linken UB des Knotens weiter - r < p => p := p - r und Fortsetung der Suce im recten UB Wartungsoperationen etwas kompleer Änderung im linken Unterbaum erfordert anganpassung aller betroffenen Väter bis ur Wurel

9 Zusammenfassung Binäre Sucbäume - Einfügen / direkte Suce durc Baumdurcgang auf einem Pfad - eienfolgeabängigkeit beüglic Einfügeoperationen - sequentielle Suce / sortierte Ausgabe aller Elemente: Inorder-Baumtraversierung ( O (n - minimale Zugriffskosten der direkten Suce O (log n; mittlere Kosten Faktor,39 sclecter Balancierte Sucbäume ur Sicerstelleung günstiger Zugriffskosten - öenbalancierte Bäume (.B. k-balancierte Binärbäume - gewictsbalancierte Bäume (BB-Bäume AV-Baum: -balancierter Binärbaum - Mitfüren eines Balancierungsfaktors B in Baumknoten (ulässige Werte:,, oder - dnamisce ebalancierung bei Einfüge- und öscoperationen (Falluntersceidungen mit untersciedlicen otationen - Anal der ebalancierungsscritte durc Höe des Baumes begrent - maimale Höe für Fibonacci-Bäume:,44 log (n scnelle Positionssuce über Mitfüren des angs von Knoten Zusammenfassung: istenoperationen auf versciedenen Datenstrukturen Operation sequent. iste gekettete iste Suce von K i Suce nac k-tem Element Einfügen von K i öscen von K i öscen von k-tem Element sequentielle Suce balancierter Baum mit ang

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51 RWTH Aacen, Lerstul für Informatik IX Kapitel 3: Sucen in Mengen - Datenstrukturen und Algoritmen - 51 Sucbäume Biser betractete Algoritmen für Suce in Mengen Sortierte Arrays A B C D - Nur sinnvoll für

Mehr

6. Die Exponentialfunktionen (und Logarithmen).

6. Die Exponentialfunktionen (und Logarithmen). 6- Funktionen 6 Die Eponentialfunktionen (und Logaritmen) Eine ganz wictige Klasse von Funktionen f : R R bilden die Eponentialfunktionen f() = c ep( ) = c e, ier sind, c feste reelle Zalen (um Trivialfälle

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

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

Programmiertechnik II

Programmiertechnik II Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...

Mehr

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

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

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

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

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

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

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen 9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel

Mehr

Teil 1. 2 Gleichungen mit 2 Unbekannten mit Textaufgaben. und 3 Gleichungen mit 2 Unbekannten. Datei Nr. 12180. Friedrich Buckel. Stand 11.

Teil 1. 2 Gleichungen mit 2 Unbekannten mit Textaufgaben. und 3 Gleichungen mit 2 Unbekannten. Datei Nr. 12180. Friedrich Buckel. Stand 11. Teil Gleicungen mit Unbekannten mit Textaufgaben und 3 Gleicungen mit Unbekannten Datei Nr. 80 Stand. April 0 Lineare Gleicungssysteme INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK 80 Gleicungssysteme Vorwort

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 Balancierte Suchbäume

Algorithmen und Datenstrukturen Balancierte Suchbäume Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen

Mehr

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.

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. Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen

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

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

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

Bäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume. Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens

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

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

- 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

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06

Balancierte Bäume. Martin Wirsing. in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer. http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 Balancierte Bäume Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.ifi.lmu.de/lehre/ss06/infoii/ SS 06 2 Ziele AVL-Bäume als einen wichtigen Vertreter balancierter

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

Suchen und Sortieren

Suchen und Sortieren (Folie 69, Seite 36 im Skript) 5 6 1 4 Als assoziatives Array geeignet Schlüssel aus geordneter Menge Linke Kinder kleiner, rechte Kinder größer als Elternknoten Externe und interne Knoten Externe Knoten

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

Grundlagen der Programmierung 2. Bäume

Grundlagen der Programmierung 2. Bäume Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

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

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Suchbäume Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative

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

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

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

Hilfe zum neuen Online-Shop

Hilfe zum neuen Online-Shop Hilfe zum neuen Online-Sop Hier finden Sie umfassend bescrieben, wie Sie sic in unserem neuen Sop zurectfinden. Wenn Sie Fragen zur Kunden-Nr., Kunden-ID oder zum Passwort aben, rufen Sie uns bitte an:

Mehr

2 Java: Bäume. 2.1 Implementierung von Bäumen. 2.2 Implementierung eines binären Suchbaums. 2.3 Traversierung von Bäumen

2 Java: Bäume. 2.1 Implementierung von Bäumen. 2.2 Implementierung eines binären Suchbaums. 2.3 Traversierung von Bäumen 2 2 Java: Bäume 2.1 Implementierung von Bäumen 2.2 Implementierung eines binären Suchbaums 2.3 Traversierung von Bäumen 2.4 Implementierung von Heapsort 19 Teil II Java: Bäume Überblick Implementierung

Mehr

Tutorium Algorithmen & Datenstrukturen

Tutorium Algorithmen & Datenstrukturen June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten

Mehr

Algorithmen und Datenstrukturen SS09

Algorithmen und Datenstrukturen SS09 Foliensatz 8 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 29 TU Ilmenau Seite / 54 Binärbäume TU Ilmenau Seite 2 / 54 Binäre Bäume Bäume und speziell

Mehr

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Lösungsvorschläge. zu den Aufgaben im Kapitel 4 Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere

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

Numerische Simulation in der Luft- und Raumfahrttechnik

Numerische Simulation in der Luft- und Raumfahrttechnik Numerisce Simulation in der Luft- und Raumfarttecnik Dr. Felix Jägle, Prof. Dr. Claus-Dieter Munz (IAG) Universität Stuttgart Pfaffenwaldring, 70569 Stuttgart Email: felix.jaegle@iag.uni-stuttgart.de Inalt

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

Manfred Burghardt. Allgemeine Hochschulreife und Fachhochschulreife in den Bereichen Erziehung, Gesundheit und Soziales

Manfred Burghardt. Allgemeine Hochschulreife und Fachhochschulreife in den Bereichen Erziehung, Gesundheit und Soziales Manfred Burgardt Allgemeine Hocsculreife und Facocsculreife in den Bereicen Erzieung, Gesundeit und Soziales Version /4 Inaltsverzeicnis I Inaltsverzeicnis Inaltsverzeicnis... I Die Ableitungsfunktion

Mehr

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

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

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri

Informatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri Informatik II PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri KAUM JAVA Kaum Java Viel Zeit wird für Java-spezifisches Wissen benützt Wenig wichtig für Prüfung Letztjähriger Assistent

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

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

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

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

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

Binärbäume. Prof. Dr. E. Ehses, 2014 1 Binärbäume Grundbegriffe der Graphentheorie Bäume und Ihre Anwendungen Unterschiedliche Darstellungen von Bäumen und Binärbäumen Binärbäume in Java Rekursive Traversierung von Binärbäumen Ebenenweise Traversierung

Mehr

10. Kapitel (Teil1) BÄUME GRUNDLAGEN. Algorithmen & Datenstrukturen Prof. Dr. Wolfgang Schramm

10. Kapitel (Teil1) BÄUME GRUNDLAGEN. Algorithmen & Datenstrukturen Prof. Dr. Wolfgang Schramm 10. Kapitel (Teil1) BÄUME GRUNDLAGEN Algrithmen & Datenstrukturen Prf. Dr. Wlfgang Schramm Übersicht 1 1. Einführung 2. Algrithmen 3. EigenschaCen vn Prgrammiersprachen 4. Algrithmenparadigmen 5. Suchen

Mehr

ANALYSIS Differenzialrechnung Kapitel 1 5

ANALYSIS Differenzialrechnung Kapitel 1 5 TELEKOLLEG MULTIMEDIAL ANALYSIS Differenzialrecnung Kapitel 5 Ferdinand Weber BRmedia Service GmbH Inaltsverzeicnis Jedes Kapitel beginnt mit der Seitenzal.. Das Tangentenproblem. Steigung einer Geraden

Mehr

6 Baumstrukturen. Formale Grundlagen der Informatik I Herbstsemester 2012. Robert Marti

6 Baumstrukturen. Formale Grundlagen der Informatik I Herbstsemester 2012. Robert Marti 6 Baumstrukturen Formale Grundlagen der Informatik I Herbstsemester 2012 Robert Marti Vorlesung teilweise basierend auf Unterlagen von Prof. emer. Helmut Schauer Beispiel: Hierarchisches File System 2

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

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

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

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

Brandschutz 4. Nicht tragende, aber brandabschnittsbildende. (ohne Verklebung) sind die Bauteile nicht luftdicht. Bei brandabschnittsbildenden

Brandschutz 4. Nicht tragende, aber brandabschnittsbildende. (ohne Verklebung) sind die Bauteile nicht luftdicht. Bei brandabschnittsbildenden 4.1 optiolz und Brandscutz In der Lignum-Dokumentation Brandscutz sind optiolz -Bauteile für tragende und/oder brandabscnittsbildende Decken und Wände bis zu einer Feuerwiderstandsdauer von 60 Minuten

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

Kurs 1613 Einführung in die imperative Programmierung

Kurs 1613 Einführung in die imperative Programmierung Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i

Mehr

Numerische und stochastische Grundlagen der Informatik

Numerische und stochastische Grundlagen der Informatik Numerisce und stocastisce Grundlagen der Informatik Peter Bastian Universität Stuttgart, Institut für Parallele und Verteilte Systeme Universitätsstraße 38, D-70569 Stuttgart email: Peter.Bastian@ipvs.uni-stuttgart.de

Mehr

Codes und Informationsgehalt

Codes und Informationsgehalt Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf

Mehr

Mechanik 1.Gleichförmige Bewegung 1

Mechanik 1.Gleichförmige Bewegung 1 Mecanik 1.Gleicförige Bewegung 1 1. Geradlinige, gleicförige Bewegung (Bewegung it kontanter Gecwindigkeit) Zeit: 1 Unterricttunde 45 Minuten 2700 Sekunden 1 Sculjar entält etwa 34 Doppeltunden 68 Unterricttunden

Mehr

Was haben Beschleunigungs-Apps mit der Quadratur des Kreises zu tun?

Was haben Beschleunigungs-Apps mit der Quadratur des Kreises zu tun? Was aben Bescleunigungs-Apps mit der Quadratur des Kreises zu tun? Teilnemer: Jonatan Geuter Leonard Hackel Paul Hagemann Maximilian Kuc Amber Lucas Tobias Tieme Tobias Tiesse Niko Wolf Gruppenleiter:

Mehr

Informationen zur Kennzahlenanalyse und Unternehmensbewertung

Informationen zur Kennzahlenanalyse und Unternehmensbewertung Informationen zur Kennzalenanalyse und Unternemensbewertung Liquidität Kennzal Formel Sollwert Kommentar Cas Ratio (Liquiditätsgrad 1) ü 20-30% Widerspiegelt die Bezieung zwiscen Flüssigen Mitteln (inkl

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

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

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Gegeben Zieladresse, finde Nachbarknoten, an den Paket zu senden ist ("Routing-Tabelle")

Gegeben Zieladresse, finde Nachbarknoten, an den Paket zu senden ist (Routing-Tabelle) 8 Digitalbäume, Tries,, Suffixbäume 8.0 Anwendungen Internet-outer egeben Zieladresse, finde Nachbarknoten, an den Paket zu senden ist ("outing-tabelle") 3 network addr Host id 00 0000 000 0 00 0 0000

Mehr

Übung zur Vorlesung Einführung in die Betriebswirtschaftliche Steuerlehre

Übung zur Vorlesung Einführung in die Betriebswirtschaftliche Steuerlehre Mercator Scool of Management Prof. Dr. Volker Breitecker, StB Dr. Marco Tönnes, StB SS 2007 Übung zur Vorlesung Einfürung in die Betriebswirtscaftlice Steuerlere Grundlagen: 1. Zur Erzielung von Einnamen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

6-1 A. Schwill Grundlagen der Programmierung II SS 2005

6-1 A. Schwill Grundlagen der Programmierung II SS 2005 6-1 A. Schwill Grundlagen der Programmierung II SS 25 6. Suchen Suchen = Tätigkeit, in einem vorgegebenen Datenbestand alle Objekte zu ermitteln, die eine best. Bedingung, das Suchkriterium, erfüllen und

Mehr

Inhalte Informatik. I1 Grundprinzip des objektorientierten Modellierens I3 Modellieren von Netzwerkanwendungen

Inhalte Informatik. I1 Grundprinzip des objektorientierten Modellierens I3 Modellieren von Netzwerkanwendungen Inhalte Informatik I1 Grundprinzip des objektorientierten Modellierens I3 Modellieren von Netzwerkanwendungen II.0 Grundlegende Programmstrukturen und Algorithmen Sortier- und Suchalgorithmen auf Arrays

Mehr

Bäume, Suchbäume und Hash-Tabellen

Bäume, Suchbäume und Hash-Tabellen Im folgenden Fokus auf Datenstrukturen, welche den assoziativen Zugriff (über einen bestimmten Wert als Suchkriterium) optimieren Bäume: Abbildung bzw. Vorberechnung von Entscheidungen während der Suche

Mehr

Schriftliche Prüfung Schuljahr: 2008/2009 Schulform: Gymnasium. Mathematik

Schriftliche Prüfung Schuljahr: 2008/2009 Schulform: Gymnasium. Mathematik Ministerium für Bildung, Jugend und Sport Prüfungen am Ende der Jargangsstufe 10 Scriftlice Prüfung Sculjar: 2008/2009 Sculform: Matematik Allgemeine Arbeitsinweise Die Prüfungszeit beträgt 160 Minuten.

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

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

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

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

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

Zeitplan Abitur. März/Mai des 13. Schuljahres: Mündliche Prüfungen zur besonderen Lernleistung und zur Präsentationsprüfung (jeweils P5).

Zeitplan Abitur. März/Mai des 13. Schuljahres: Mündliche Prüfungen zur besonderen Lernleistung und zur Präsentationsprüfung (jeweils P5). Zeitplan Abitur Nac jedem Halbjareszeugnis: Überprüfung der erbracten Halbjaresleistungen und der recneriscen Möglickeit das Abitur zu besteen durc Sculleitung bzw. APK (Abiturprüfungskommission). Ab April

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am

Mehr

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir

Branch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.

Mehr

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

Vorname:... Matrikel-Nr.:... Unterschrift:... Fachhochschule Mannheim Hochschule für Technik und Gestaltung Fachbereich Informatik Studiengang Bachelor of Computer Science Algorithmen und Datenstrukturen Wintersemester 2003 / 2004 Name:... Vorname:...

Mehr

ZUKUNFT BILDEN. Die Bildungsinitiative der Region. Februar 2015. Journalistische Darstellungsformen. Teil 3

ZUKUNFT BILDEN. Die Bildungsinitiative der Region. Februar 2015. Journalistische Darstellungsformen. Teil 3 ZUKUNFT Februar 2015 Journalistisce Darstellungsformen Teil 3 Das Projekt zur Bildungsförderung für Auszubildende getragen von starken Partnern Initiatoren: Förderer und Stiftungspartner: INHALT Journalistisce

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

Eine zu Grunde liegende Typdefinition beschreibt eine Struktur, die alle erlaubten Instanzen dieses Typs gemeinsam haben.

Eine zu Grunde liegende Typdefinition beschreibt eine Struktur, die alle erlaubten Instanzen dieses Typs gemeinsam haben. Der binäre Baum Tree Die geläufigste Datenstuktur ist der binäre Baum Tree. Dieses Beispielskript zeigt im direkten Vergleich zu anderen Sprachen den Umgang mit formalen Typparametern in CHELSEA. Wir steigen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck { Selektoren

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

1. Grundlegende Konzepte in Java (6 Punkte)

1. Grundlegende Konzepte in Java (6 Punkte) 1. Grundlegende Konzepte in Java (6 Punkte) a) Welches der folgenden Literale ist korrekt und wenn ja, von welchem Typ ist es? "true" nicht korrekt X korrekt vom Typ String 'true' X nicht korrekt korrekt

Mehr

Mathematische Grundlagen der Ökonomie Übungsblatt 13

Mathematische Grundlagen der Ökonomie Übungsblatt 13 Matematisce Grundlagen der Ökonomie Übungsblatt 13 Abgabe Donnerstag 4. Februar, 10:15 in H3 6+4+5+++1 = 0 Punkte Mit Lösungsinweisen zu einigen Aufgaben 51. Ire Bekannte Dido möcte, dass aus einem günstig

Mehr

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer

Mehr

Kilimandscharo Tour Marangu-Route mit Mt. Meru. Adventure aktivität.teamerleben.natur 60+

Kilimandscharo Tour Marangu-Route mit Mt. Meru. Adventure aktivität.teamerleben.natur 60+ Kiliandscaro Tour Marangu-Route it Mt. Meru Adventure aktivität.teaerleben.natur 60+ geeignet Kiliandscaro Marangu-Route it Mt. Meru Kiliandscaro-Besteigung (5895) Marangu-Route Der Berg Gipfelziel als

Mehr

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz

Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Vorlesung 04.12.2006: Binäre Entscheidungsdiagramme (BDDs) Dr. Carsten Sinz Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen)

Mehr

Prüfungsfach: Wahlfach Steuerlehre Punktzahl: 100. Prüfer: Prof. Dr. Volker Breithecker Bearbeitungszeit: 240 Min.

Prüfungsfach: Wahlfach Steuerlehre Punktzahl: 100. Prüfer: Prof. Dr. Volker Breithecker Bearbeitungszeit: 240 Min. Facbereic Wirtscaftswissescaft PO 95 D I P L O M P R Ü F U N G Prüfugstermi: Sommersemester 2002 Studiescwerpukt: - - - Prüfugsfac: Walfac Steuerlere Puktzal: 100 Prüfer: Prof. Dr. Volker Breitecker Bearbeitugszeit:

Mehr

Aufgaben zu den Newtonsche Gesetzen

Aufgaben zu den Newtonsche Gesetzen Aufgaben zu den ewtonce Geetzen. Zwei Maen von = 8 und = ängen an den Enden eine Seil, da über eine fete Rolle it vernacläigbarer Mae gefürt it. a) Wie groß it die Becleunigung de al reibungfrei angenoenen

Mehr

Präfx Trie zur Stringverarbeitung. Cheng Ying Sabine Laubichler Vasker Pokhrel

Präfx Trie zur Stringverarbeitung. Cheng Ying Sabine Laubichler Vasker Pokhrel Präfx Trie zur Stringverarbeitung Cheng Ying Sabine Laubichler Vasker Pokhrel Übersicht: Einführung Eigenschaften von Tries Verwendung von Tries Allgemeine Defnition von Patricia Tries Eigenschaften von

Mehr

Steuerliche Spendenanreize: Ein Reformvorschlag. Ludwig von Auer Andreas Kalusche. Research Papers in Economics No. 7/10

Steuerliche Spendenanreize: Ein Reformvorschlag. Ludwig von Auer Andreas Kalusche. Research Papers in Economics No. 7/10 Steuerlice Spendenanreize: Ein Reformvorsclag Ludwig von Auer Andreas Kalusce Researc Papers in Economics No. 7/10 Steuerlice Spendenanreize: Ein Reformvorsclag Ludwig von Auer 1 Universität Trier Andreas

Mehr

Fakultät Wirtschaftswissenschaft

Fakultät Wirtschaftswissenschaft Fakultät Wirtschaftswissenschaft Matrikelnr. Name Vorname KLAUSUR: Entwurf und Implementierung von Informationssystemen (32561) TERMIN: 11.09.2013, 14.00 16.00 Uhr PRÜFER: Univ.-Prof. Dr. Stefan Strecker

Mehr

Kapitel 9 Suchalgorithmen

Kapitel 9 Suchalgorithmen Kapitel 9 Suchalgorithmen Technische Universität München Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für

Mehr

Formelsammlung. Fachangestellte für Bäderbetriebe Meister für Bäderbetriebe. Inhalt

Formelsammlung. Fachangestellte für Bäderbetriebe Meister für Bäderbetriebe. Inhalt Forelsalung Facangestellte für Bäderbetriebe Meister für Bäderbetriebe Erstellt von Dipl.-Ing. (FH) Wolfgang Hetteric, BVS it Ergänzungen von Dipl.-Ing. (FH) Peter Vltavsky, BS Lindau Inalt llgeeine Mecanik...

Mehr

Nachtrag zu binären Suchbäumen

Nachtrag zu binären Suchbäumen Nachtrag zu binären Suchbäumen (nicht notwendigerweise zu AVL Bäumen) Löschen 1 3 2 10 4 12 1. Fall: Der zu löschende Knoten ist ein Blatt: einfach löschen 2. Fall: Der zu löschende Knoten hat ein Nachfolgeelement

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr