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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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 schon vorhanden ist) Erweiterung: Der eingefügte Schlüssel kann durch sog. Rotationen sukzessiv in Richtung Wurzel verschoben werden (Verbesserung der Baumstruktur) Allgemeines Schema: rekursive Formulierung 43

2 9.4 Binäre Suchbäume Beispiel: Einfügen des Schlüssels G (iterativ; die rekursive Version tut genau dasselbe) 44

3 9.4 Binäre Suchbäume Rotationen: Damit kann man Knoten im Baum verschieben, ohne die Suchbaumeigenschaft des Baumes zu verletzen. Eine lokale Umstrukturierung in einem Binärbaum, an der zwei Schlüssel und drei Teilbäume beteiligt sind. Links- und Rechtsrotation Rotation lässt die Struktur der Teilbäume A, B und C unverändert, ändert aber die Tiefe der Knoten in Teilbäumen A und C 45

4 9.4 Binäre Suchbäume Beispiel: Konstruktion eines binären Suchbaums mit A, S, E, R, C, H, I, N, G, X, M, P, L durch Einfügen an der Wurzel 46

5 9.4 Binäre Suchbäume Vorteil: Zuletzt eingefügte Schlüssel sind in der Nähe der Spitze. Für diese Schlüssel ist der Suchaufwand kleiner als mit dem Standardverfahren. Selbstorganisierender Suchalgorithmus: ordnet Elemente neu an, damit sich häufig angesprochene Elemente mit höherer Wahrscheinlichkeit bereits früh in einer Suchoperation finden lassen Realisierung durch Erweiterung der Suchmethode, um den gefundenen Knoten mithilfe von Rotationen zur Wurzel zu bringen 47

6 9.4 Binäre Suchbäume Weitere Suchbaum-Operationen: Auswahl: des k-kleinsten Elementes (Minimum: k=1). In jedem Knoten einen Zähler size für die Anzahl der Schlüssel vorzusehen, die in dem von diesem Knoten ausgehenden Teilbaum gespeichert sind. Alle Methoden, die den Zustand des Baumes ändern, müssen diesen Zähler aktualisieren. BSTNode<E> select(bstnode<e> t, int k) { if (t == null) return null; int i = (t.left == null)? 0 : node.left.size; if (i >= k) return select(t.left, k); else if (i < k) return select(t.right, k-i); return t.element; } Aufruf: select(root, k); 48

7 9.4 Binäre Suchbäume Zerlegen: Eng verwandt mit Auswählen ist das Zerlegen bezüglich einer Position k. Für k = size/2 kann man damit eine geordnete Menge in linke und rechte Hälfte aufteilen. Man bringt durch mehrfaches Rotieren das Element mit Index k an die Wurzel. Dann enthält der linke Teilbaum die Elemente mit den Indizes 0,..., k 1, der rechte die mit den Indizes k + 1,..., size 1. Die Laufzeit für Auswählen und Zerlegen ist im schlechtesten Fall von der Ordnung O(h) (h = Höhe das Suchbaums), weil immer ein Suchpfad durchlaufen wird. Im Mittel ist h O(log n), eine Garantie für logarithmische Laufzeit haben wir noch nicht. 49

8 9.4 Binäre Suchbäume Beispiel: Baum der Größe size = 9. Element M wird an die Wurzel gebracht. Anschließend enthält der linke Teilbaum Elemente, die kleiner als M sind. 50

9 9.4 Binäre Suchbäume Vereinigung von Suchbäumen: Seien a und b die beiden Bäume a.max < b.min Besonders effizient: Der Schlüssel a.max wird an die Wurzel von a rotiert, mit der Folge, dass a.right leer ist. Dann setzt man a.right = b. Wenn a logarithmische Höhe hat, braucht das O(log n) Zeit. Schlüssel in a und b sind beliebig Dann muss man einen der beiden Bäume traversieren und seine Elemente in den anderen Baum einfügen. Keine lineare Zeit, da jedes Einfügen lineare Zeit beanspruchen kann. 51

10 9.4 Binäre Suchbäume Rekursive Implementierung der Vereingung: Zuerst fügen wir die Wurzel w von a in den Baum b ein (durch Einfügen an der Wurzel) Zwei Teilbäume (a.left und b.left) mit Schlüssseln < w und zwei Teilbäume (a.right und b.right) mit Schlüsseln > w. Eine rekursive Anwendung am ersten (zweiten) Paar liefert den linken (rechten) Teilbaum der Wurzel w. BSTNode<E> joinr(bstnode<e> a, BSTNode<E> b) { if (a == null) return b; if (b == null) return a; insert(a.element, b); // Einfügen an der Wurzel b.left = joinr(a.left, b.left); r.right = joinr(a.right, b.right) return b; } 52

11 9.4 Binäre Suchbäume Beispiel: Zwei Bäume zur Vereinigung (oben); nach Einfügung der Wurzel w = G in den anderen Baum (Mitte); Vereinigung (unten) 53

12 9.5 Balancierte Bäume Mit binären Suchbäumen kann man eine Vielzahl von Anwendungen mit einer Laufzeit realisieren, die von der Höhe der beteiligten Bäume abhängt. Man möchte, dass diese Höhe garantiert logarithmisch ist. Daten sind meistens nicht zufällig verteilt, sondern teilweise geordnet mit langen Läufen monoton aufsteigender (absteigender) Elemente Degenerierung binärer Suchbäume in lineare Listen Idee: Überwache Struktur eines binären Suchbaums und restrukturiere ihn, falls er zu sehr degeneriert Idealfall eines ausgeglichenen Binärbaums hat man, wenn alle Ebenen bis auf die untersten ein bis drei Ebenen voll besetzt sind 54

13 9.5 Balancierte Bäume Es gibt zahlreiche Verfahren, mit denen man einen binären Suchbaum ausgleichen kann. Eine einfache Methode: Bringe den Median an die Wurzel und wiederhole dasselbe rekursiv für die Teilbäume. Laufzeit T(n) = n + 2T(n/2) O(n log n) (vgl. Mergesort) Diese Art des vollständigen Balancierens eines Suchbaums ist nur sinnvoll in Situationen, in denen der Baum wenig geändert wird. Durch weitere Einfüge und Entferne Operationen geht die Balance meistens schnell wieder verloren. 55

14 9.5 Balancierte Bäume Klasse B von Suchbäumen muss die folgenden beiden Bedingungen erfüllen, um praktisch nützlich zu sein Ausgewogenheitsbedingung: c > 0 T B : h T c log 2 n T h T : Höhe, n T : Anzahl Knoten eines Baumes T Restrukturierungsbedingung: Fällt ein Baum T B nach einer Einfüge- oder Löschoperation aus der Klasse B heraus, so muss es möglich sein, T mit Aufwand O(log n T ) so zu restrukturieren, dass er wieder zu B gehört Erfüllt eine Klasse B von Bäumen die Ausgewogenheitsbedingung und die Restrukturierungsbedingung, so lassen sich die Such-, Einfüge- und Löschoperation mit Aufwand O(log n) durchführen 56

15 9.5 Balancierte Bäume Klasse der fast vollständigen binären Bäume erfüllt die Ausgewogenheitsbedingung, aber nicht die Restrukturierungsbedingung, da im schlimmsten Fall O(n) Zeit benötigt wird, um solch einen binären Suchbaum zu restrukturieren C E G O(n) B D F B D F A C E G A 57

16 Die historisch erste Klasse dynamischer balancierbarer Bäume waren die AVL Bäume (1962 von G. M. Adelson Velskii und J. M. Landis eingeführt) AVL Eigenschaft eines Binärbaums: Für jeden Knoten darf sich die Höhe seiner beiden Teilbäume höchstens um 1 unterscheiden höhenbalancierter binärer Suchbaum Durch Rotationen wird unmittelbar nach jedem Einfügen und Entfernen diese Bedingung in logarithmischer Zeit wiederhergestellt Es gilt: Die Klasse der AVL Bäume erfüllt die Balanciertheitsbedingung mit h n log 2 n. Zugriffe auf AVL Bäume sind also höchstens um 44% langsamer als Zugriffe auf optimal ausbalancierte Bäume. Diese Abschätzung ist meistens viel zu pessimistisch. In der Praxis stellt man fest, dass zufällig erzeugte AVL Bäume Höhen h n log 2 n haben. 58

17 Beispiel: höhenbalancierte binäre Bäume Nicht höhenbalancierter Baum; der markierte Knoten verletzt die Höhenbedingung 59

18 Knoten t eines AVL-Baumes erfüllt genau eine der folgenden Ausgewogenheitseigenschaften: / linkslastig, wenn die Höhe des linken Teilbaums von t um 1 größer ist als die Höhe des rechten Teilbaums; - ausgeglichen, wenn beide Teilbäume von t gleiche Höhe haben; \ rechtslastig, wenn die Höhe des rechten Teilbaums von t um 1 größer ist als die Höhe des linken Teilbaums. 60

19 Einfügen: Beim Einfügen von x in einen AVL Baum wird der neue Knoten wie beim natürlichen Suchbaum eingefügt, dann wird rebalanciert. Das unbalancierte Einfügen kann also nur bei Knoten auf dem Suchpfad für x die AVL Bedingung verletzen Beim Rebalancieren wird der Suchpfad rückwärts durchlaufen. Bei jeder AVL-Verletzung wird eine lokale Restrukturierungsoperation durchgeführt, um in diesem Teilbaum die AVL-Bedingung wieder herzustellen. Lokale Restrukturierungsoperationen Rotation und Doppelrotation ermöglichen die Restrukturierung eines durch eine Einfügeoperation gestörten zuvor höhenbalancierten Baumes, indem sie ihn in Teilbäume zerlegen und auf neue Art wieder zusammenfügen 61

20 Die Höhenbedingung ist im roten Knoten verletzt a Rotation b 2 1 X Y b X a Y Z Z a Doppelrotation b c a c 2 1 W X b Z W Y Z X Y Analog spiegelbildliche Transformationen 62

21 Einfügen eines neuen Elementes erfolgt wie beim binären Suchbaum, der neue Knoten erhält die Ausgewogenheitseigenschaft. Dann beginne ausgehend vom neuen Knoten in Richtung Wurzel aufzusteigen und verbreite die Nachricht, dass der zum gegenwärtigen Knoten gehörende Teilbaum in der Höhe um 1 gewachsen ist. In jedem Knoten entlang dieses Weges wird entsprechend einer der folgenden Regeln I1, I2 und I3 eine Operation durchgeführt. 63

22 Regel I1: Knoten hat Ausgewogenheitseigenschaft und wird von seinem linken (bzw. rechten) Kind aus betreten ändere Ausgewogenheitseigenschaft zu / (bzw. \) Knoten = Wurzel breche Aufstieg ab Knoten Wurzel setzeaufstiegfort Regel I2: Knoten hat Ausgewogenheitseigenschaft / oder \ und wird vom zuvor kürzeren Teilbaum aus betreten ändere Ausgewogenheitseigenschaft zu und breche Aufstieg ab, da Höhe des Teilbaums sich nicht geändert hat 64

23 Regel I3: Knoten hat Ausgewogenheitseigenschaft / oder \ und wird vom zuvor schon längeren Teilbaum aus betreten Höhenbedingung im gegenwärtigen Knoten ist verletzt und wird folgendermaßen wiederhergestellt: (a) Erfolgten die letzten zwei Schritte aus der gleichen Richtung (beide von linken Kindern oder beide von rechten Kindern) Rotation (b) Erfolgten die letzten zwei Schritte aus unterschiedlichen Richtungen (einer vom linken Kind, einer vom rechten Kind) Doppelrotation In beiden Fällen ändert sich Höhe des Teilbaums nicht breche Aufstieg ab 65

24 Beispiel: Einfügen von 1, 2, 5, 3, 4, 6, 7 in einen initial leeren AVL-Baum 1 insert 2 1 insert 5 1 Rotation insert

25 insert 4 2 Doppelrotation insert Rotation

26 insert Rotation Insgesamt wird nach dem Einfügen höchstens eine Rotation oder Doppelrotation durchgeführt Aufwand für Einfügen wird bestimmt durch den Abstieg zur Einfügeposition und den Aufstieg, im schlimmsten Fall bis zur Wurzel Aufwand für Einfügen ist im schlimmsten Fall O(h), d.h. O(log n) 68

27 Entfernen: Ein Schlüssel x wird wie bei natürlichen Suchbäumen entfernt (entweder direkt entfernt oder durch seinen Inorder Nachfolger y ersetzt; siehe die Illustration auf der nächsten Folie) Dann beginne ausgehend vom Elternknoten von x oder y zur Wurzel aufzusteigen und verbreite die Nachricht, dass der zum gegenwärtigen Knoten gehörende Teilbaum in der Höhe um 1 geschrumpft ist. In jedem Knoten entlang dieses Wegs wird entsprechend einer der folgenden Regeln eine Operation durchgeführt. 69

28 9.4 Binäre Suchbäume Spezialfälle beim Entfernen in binären Suchbäumen: x ist in einem Knoten k enthalten, der keine Kinder hat: k wird gelöscht von Elternknoten von x=13, 12, zur Wurzel aufsteigen x ist in einem Knoten k enthalten, der ein Kind hat: k wird durch das Kind ersetzt von Elternknoten von x=16, 15, zur Wurzel aufsteigen 70

29 9.4 Binäre Suchbäume x ist in einem Knoten k enthalten, der zwei Kinder hat: Dann bleibt Knoten k erhalten. Das Element x in k wird ersetzt durch das größte Element im linken Teilbaum oder das kleinste Element im rechten Teilbaum von k. Jedes dieser beiden Elemente ist in einem Knoten gespeichert, der höchstens ein Kind besitzt und daher wie in Fall 1 oder 2 entfernt werden kann. von Elternknoten von y=6, 10, zur Wurzel aufsteigen 71

30 Regel D1: Knoten hat Ausgewogenheitseigenschaft und wird von seinem linken (bzw. rechten) Kind aus betreten ändere Ausgewogenheitseigenschaft zu \ (bzw. /) und breche Aufstieg ab, da die Höhe des Teilbaums sich nicht geändert hat Regel D2: Knoten hat Ausgewogenheitseigenschaft / oder \ und wird vom zuvor längeren Teilbaum aus betreten ändere Ausgewogenheitseigenschaft zu und setze Aufstieg fort 72

31 Regel D3: Knoten hat Ausgewogenheitseigenschaft / oder \ und wird vom zuvor schon kürzeren Teilbaum aus betreten Höhenbedingung des gegenwärtigen Knotens b ist verletzt und wird abhängig von der Ausgewogenheitseigenschaft des anderen Kindes a von b folgendermaßen wiederhergestellt: (a) Rotation b a a b Z Z X X Y Y Eine Rotation sorgt für die Einhaltung der Höhenbedingung am gegenwärtigen Knoten, ohne die Höhe des Teilbaums zu verändern breche Aufstieg ab 73

32 (b) X a Y b Z Rotation X a Y b Z Eine geeignete Rotation sorgt für die Einhaltung der Höhenbedingung am gegenwärtigen Knoten setzeaufstiegfort 74

33 (c) W a X c b Y Z Doppelrotation W a X c Y b Z Eine Doppelrotation sorgt für die Einhaltung der Höhenbedingung am gegenwärtigen Knoten setze Aufstieg fort Ähnliche Transformationen, falls X oder Y, aber nicht beide zugleich, um eine Stufe kürzer sind als in obiger Figur gezeigt Modifikation der Ausgewogenheitseigenschaft einiger Knote kein Einfluß auf die Höhe des Teilbaums Betrachte ebenso Spiegelbilder in (a), (b), (c)! 75

34 Im Gegensatz zum Einfügen kann beim Löschen mehr als eine Rotation oder Doppelrotation notwendig sein! Aufwand für eine Rotation oder Doppelrotation ist konstant, d.h. O(1) Kosten für Rebalancierung nur abhängig von der Höhe des Baumes Aufwand für Löschoperation ist im schlimmsten Fall O(log n) 76

35 delete Regel D

36 Regel D3 (c): Doppelrotation Regel D3 (b): Rotation

37 Beispiel: Ein natürlicher Suchbaum mit 200 zufälligen Schlüsseln 79

38 AVL-Baum mit denselben Schlüsseln: 80

39 Beispiel: Ein natürlicher Suchbaum mit Bias, 400 zufällige Schlüssel 81

40 AVL-Baum mit denselben Schlüsseln: 82

41 Ein schiefster höhenbalancierter binärer Baum T h ist ein höhenbalancierter binärer Baum der Höhe h mit einer minimalen Anzahl Knoten. Ausgehend von T 0 und T 1 erhält man T h, indem man T h 1 und T h 2 als Teilbäume an einen neuen Wurzelknoten anfügt: h = 0 h = 1 h = 2 h = 3 h = 4 Anzahl n h der Knoten in einem schiefsten höhenbalancierten binären Baum der Höhe h: n 0 = 1, n 1 = 2 n h = n h 2 + n h

42 Es gilt: Im schlimmsten Fall beträgt die Höhe eines AVL-Baums mit n Knoten etwa 1.44 log 2 n 84

43 Aufwand für die Einfüge- und Löschoperation ist im schlimmsten Fall O(log n) Klasse der AVL-Bäume erfüllt die Restrukturierungsbedingung AVL-Bäume mit ihren kleinen Knoten, die gewöhnlich ein einziges Datenelement enthalten, werden primär für die Verwaltung von Daten im Hauptspeicher eingesetzt G. M. Adelson-Velskii und Y. M. Landis: An algorithm for the organization of information, Soviet Mathematics Doklady 3, (1962) Ein schönes Java-Applet mit Animation: 85

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Anmerkungen zur Übergangsprüfung

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

Mehr

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

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

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

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

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

Mehr

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

Primzahlen und RSA-Verschlüsselung

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

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

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

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

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

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

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

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

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

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

Mehr

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

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

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Navigieren auf dem Desktop

Navigieren auf dem Desktop Navigieren auf dem Desktop Sie kennen Windows 7 noch nicht? Obwohl Windows 7 viel mit den Versionen von Windows gemein hat, die Ihnen ggf. bereits vertraut sind, werden Sie möglicherweise an der einen

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

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

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

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013 iloq Privus Schließanlagen Programmierung Version 1 - Copyright 2013 Kurth Electronic GmbH Kommunikations- & Sicherheitssysteme / Im Scherbental 5 / 72800 Eningen u. A. Tel: +49-7121-9755-0 / Fax: +49-7121-9755-56

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Benutzerhandbuch - Elterliche Kontrolle

Benutzerhandbuch - Elterliche Kontrolle Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü

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

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

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter

Mehr

Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden

Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden 5.6.2 AVL-Bäume Einfache binäre Suchbäume können entarten, so dass sich die Tiefen ihrer Blattknoten stark unterscheiden AVL-Bäume, benannt nach ihren Erfindern G. M. Adelson- Velskii und E. M. Landis,

Mehr

erster Hauptsatz der Thermodynamik,

erster Hauptsatz der Thermodynamik, 1.2 Erster Hautsatz der hermodynamik Wir betrachten ein thermodynamisches System, dem wir eine beliebige Wärmemenge δq zuführen, und an dem wir eine Arbeit da leisten wollen. Werden umgekehrt dem System

Mehr

Informatik II Bäume zum effizienten Information Retrieval

Informatik II Bäume zum effizienten Information Retrieval lausthal Informatik II Bäume zum effizienten Information Retrieval. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Binäre Suchbäume (binary search tree, BST) Speichere wieder Daten als "Schlüssel

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Sage Start Einrichten des Kontenplans Anleitung. Ab Version 2015 09.10.2014

Sage Start Einrichten des Kontenplans Anleitung. Ab Version 2015 09.10.2014 Sage Start Einrichten des Kontenplans Anleitung Ab Version 2015 09.10.2014 Inhaltsverzeichnis Inhaltsverzeichnis 2 1.0 Einleitung 3 2.0 Bearbeiten des Kontenplans 4 2.1 Löschen von Gruppen/Konten 4 2.2

Mehr

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

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Studiengang Bachelor of Computer Science Modulprüfung Praktische Informatik 1 Wintersemester 2010 / 2011 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise: 1.) Schreiben Sie Ihren Namen und

Mehr

Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen

Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen 1 Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen In moneyplex lässt sich ein Konto und ein Bankzugang nur einmal anlegen. Wenn sich der Bankzugang geändert hat oder das Sicherheitsmedium

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

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

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten 1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,

Mehr

AVL-Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. AVL-Bäume 1/38

AVL-Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. AVL-Bäume 1/38 AVL-Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum haben die Algorithmen Suchen,

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Kulturelle Evolution 12

Kulturelle Evolution 12 3.3 Kulturelle Evolution Kulturelle Evolution Kulturelle Evolution 12 Seit die Menschen Erfindungen machen wie z.b. das Rad oder den Pflug, haben sie sich im Körperbau kaum mehr verändert. Dafür war einfach

Mehr

Backup Premium Kurzleitfaden

Backup Premium Kurzleitfaden Info Memeo Backup Premium bietet viele fortschrittliche automatische Backup-Funktionen und ist großartig für Benutzer von Digitalkameras und für Anwender, die bis zu 50.000 Dateien mit Backups sichern

Mehr

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Bilingual konkret Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint Moderner Unterricht ist ohne die Unterstützung durch Computer und das Internet fast

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Was ist das Budget für Arbeit?

Was ist das Budget für Arbeit? 1 Was ist das Budget für Arbeit? Das Budget für Arbeit ist ein Persönliches Geld für Arbeit wenn Sie arbeiten möchten aber nicht mehr in einer Werkstatt. Das gibt es bisher nur in Nieder-Sachsen. Und in

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Datenaufbereitung in SPSS. Daten zusammenfügen

Datenaufbereitung in SPSS. Daten zusammenfügen Daten zusammenfügen I. Fälle hinzufügen Diese Schritte müssen Sie unternehmen, wenn die Daten in unterschiedlichen Dateien sind; wenn also die Daten von unterschiedlichen Personen in unterschiedlichen

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Algorithmen und Datenstrukturen I AVL-Bäume

Algorithmen und Datenstrukturen I AVL-Bäume Algorithmen und Datenstrukturen I AVL-Bäume Prof. Dr. Oliver Braun Letzte Änderung: 01.12.2017 14:42 Algorithmen und Datenstrukturen I, AVL-Bäume 1/38 Balancierte Bäume in einem zufällig erzeugten Binärbaum

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Rechnungen erstellen mit Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Rechnungen erstellen mit Webling 1.1 Rechnung erstellen und ausdrucken 1.2 Rechnung mit Einzahlungsschein erstellen

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

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

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Anleitung Postfachsystem Inhalt

Anleitung Postfachsystem Inhalt Anleitung Postfachsystem Inhalt 1 Allgemeines... 2 2 Einloggen... 2 3 Prüfen auf neue Nachrichten... 2 4 Lesen von neuen Nachrichten... 3 5 Antworten auf Nachrichten... 4 6 Löschen von Nachrichten... 4

Mehr

Print2CAD 2017, 8th Generation. Netzwerkversionen

Print2CAD 2017, 8th Generation. Netzwerkversionen Installation der Netzwerkversion Kazmierczak Software Print2CAD 2017, 8th Generation Print2CAD 2017, 8th Generation Netzwerkversionen Einführung Installationshinweise Die Programme von Kazmierczak Software

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

Info zum Zusammenhang von Auflösung und Genauigkeit

Info zum Zusammenhang von Auflösung und Genauigkeit Da es oft Nachfragen und Verständnisprobleme mit den oben genannten Begriffen gibt, möchten wir hier versuchen etwas Licht ins Dunkel zu bringen. Nehmen wir mal an, Sie haben ein Stück Wasserrohr mit der

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr