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

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

6. Binäre Suchbäume. Binäre Suchbäume

6. Binäre Suchbäume. Binäre Suchbäume 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

Mehr

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 9. Vorlesung Peter Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Balancierte Binärbäume Der ausgeglichene binäre Suchbaum verursacht

Mehr

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

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

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

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

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

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

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

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

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

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

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

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

ADS 1: Algorithmen und Datenstrukturen

ADS 1: Algorithmen und Datenstrukturen ADS 1: Algorithmen und Datenstrukturen Teil IX Uwe Quasthoff Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 1 Dezember 017 [Letzte Aktualisierung: 04/1/017, 10:56]

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

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

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

Algorithmen und Datenstrukturen 1

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

Mehr

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

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

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

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

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

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

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

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

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

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

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

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

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

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

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

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

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

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

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

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

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

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

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

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

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

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler

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

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

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner

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

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

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

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

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

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

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

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

2015-06-11 Tagesprogramm

2015-06-11 Tagesprogramm 1 2015-06-11 Tagesprogramm Design-by-Contract 2 Vertragspartner Anbieter (Server) bietet Leistungen (Services) an Kunde (Client) nimmt von Anbietern angebotene Leistungen in Anspruch Details der Inanspruchnahme

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

Probeklausur Softwareengineering SS 15

Probeklausur Softwareengineering SS 15 Probeklausur Softwareengineering SS 15 Hinweis: Die Bearbeitungsdauer entspricht dem Punktewert. Aufgabe 1 (10 min) Beschreiben Sie das Vorgehensmodell Test-Driven-Development (TDD) a) Erläutern Sie das

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

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

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

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

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

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

Mehr

Formale Spezialisierungstechniken. am Beispiel des binären Baums. Hybride Programmiersprachen Daniel Krompass Berlin, 2009

Formale Spezialisierungstechniken. am Beispiel des binären Baums. Hybride Programmiersprachen Daniel Krompass Berlin, 2009 Formale Spezialisierungstechniken am Beispiel des binären Baums. Hybride Programmiersprachen Daniel Krompass Berlin, 2009 Spezialisierungsarten (Typbeziehungen erster Art) X stellt Methoden und Eigenschaften

Mehr

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta! Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Um mehrere Versionsstände parallel betreiben zu können, sollte man die folgenden Hintergründe kennen, um zu verstehen wo ggf. die Hürden liegen.

Mehr

Teile und Herrsche Teil 2

Teile und Herrsche Teil 2 Teile und Herrsche Teil 2 binär Suchen und schnell Multiplizieren Markus Fleck Manuel Mauky Hochschule Zittau/Görlitz 19. April 2009 Suchen in langen Listen (0, 1, 2, 7, 8, 9, 9, 13, 13, 14, 14, 14, 16,

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Gierhardt. 1 import javakara. JavaKaraProgram ; 3 public class Playit1 extends JavaKaraProgram. 4 { // Anfang von Playit1. 6 void gehezumbaum ( ) 7 {

Gierhardt. 1 import javakara. JavaKaraProgram ; 3 public class Playit1 extends JavaKaraProgram. 4 { // Anfang von Playit1. 6 void gehezumbaum ( ) 7 { Informatik: Einführung in Java Gierhardt Play it again, Kara! (Lsg.) 1. Kara soll ein Kleeblatt finden, das sich in der gleichen Zeile (oder Spalte) befindet wie er selbst. Zwischen ihm und dem Kleeblatt

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

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

Mehr

Vorgestellt von Hans-Dieter Stubben

Vorgestellt von Hans-Dieter Stubben Neue Lösungen in der GGf-Versorgung Vorgestellt von Hans-Dieter Stubben Geschäftsführer der Bundes-Versorgungs-Werk BVW GmbH Verbesserungen in der bav In 2007 ist eine wichtige Entscheidung für die betriebliche

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

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

4. Übungsblatt Matrikelnr.: 6423043

4. Übungsblatt Matrikelnr.: 6423043 Lineare Algebra I 1. Name: Bleeck, Christian 4. Übungsblatt Matrikelnr.: 6423043 Abgabe: 15.11.06 12 Uhr (Kasten D1 320) Übungsgruppe: 03 Patrick Schützdeller 2. Name: Niemann, Philipp Matrikelnr.: 6388613

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

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Expertenrunde Gruppe 1: Wiederholungsgruppe EXCEL (Datenerfassung, Darstellungsformen, Verwertung)

Expertenrunde Gruppe 1: Wiederholungsgruppe EXCEL (Datenerfassung, Darstellungsformen, Verwertung) Epertenrunde Gruppe 1: Wiederholungsgruppe EXCEL (Datenerfassung, Darstellungsformen, Verwertung) Im Folgenden wird mit Hilfe des Programms EXEL, Version 007, der Firma Microsoft gearbeitet. Die meisten

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

Mehr

SJ OFFICE - Update 3.0

SJ OFFICE - Update 3.0 SJ OFFICE - Update 3.0 Das Update auf die vorherige Version 2.0 kostet netto Euro 75,00 für die erste Lizenz. Das Update für weitere Lizenzen kostet jeweils netto Euro 18,75 (25%). inkl. Programmsupport

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

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung 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 student"

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

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

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

Die Post hat eine Umfrage gemacht

Die Post hat eine Umfrage gemacht Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr