Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

2 Baum Wurzel Knoten ohne Vorgänger Knoten beinhalten Daten z.B. Zahlen Innerer Knoten Kein Blatt Blatt Knoten ohne Nachfolger Ast Kante.

Ähnliche Präsentationen


Präsentation zum Thema: "2 Baum Wurzel Knoten ohne Vorgänger Knoten beinhalten Daten z.B. Zahlen Innerer Knoten Kein Blatt Blatt Knoten ohne Nachfolger Ast Kante."—  Präsentation transkript:

1

2 2 Baum Wurzel Knoten ohne Vorgänger Knoten beinhalten Daten z.B. Zahlen Innerer Knoten Kein Blatt Blatt Knoten ohne Nachfolger Ast Kante

3 Ein Baum ist eine Datenstruktur die folgende Eigenschaften besitzt:  Es gibt genau einen Knoten, der keinen Vorgänger besitzt. Dieser wird als Wurzel bezeichnet.  Alle Knoten des Baumes, außer Wurzel besitzen genau einen Vorgängerknoten.  Ein Baum ist eine rekursive Datenstruktur ⇒ Der Baum besteht aus einer Wurzel und einer Reihe von Teilbäumen.

4 4 Binärbaum Binärbaum ist entweder ein leerer Baum oder er besteht aus einer Wurzel und zwei Binärbäumen. Begriffe: Knoten, Wurzel, innerer Knoten, Blatt, Ast

5  Knoten sind die eigentlichen Elemente, die über alle Informationen wie Daten und Zeiger zum rechten und linken Knoten verfügen.  Wurzel – Dieser Knoten ist der einzige, der keinen Vorgänger besitzt.  Ast = Kante. Die Knoten werden mit einem Ast verbunden.  Blatt – Blätter sind Knoten, die keinen Nachfolger besitzen.

6 Für jeden Knoten K eines Suchbaumes gilt: Die Schlüssel im linken Teilbaum von K sind kleiner als der Schlüssel von K Die Schlüssel im rechten Teilbaum von K sind größer als der Schlüssel von K Schlüssel ist die Zahl im Knoten Was passiert, wenn eine Zahl doppelt vorkommen würde?

7 Für jeden Knoten K eines Suchbaumes gilt: Die Schlüssel im linken Teilbaum von K sind kleiner oder gleich als der Schlüssel von K Die Schlüssel im rechten Teilbaum von K sind größer als der Schlüssel von K

8  Es sind folgende Schlüssel gegeben bauen Sie einen Baum 5,2,3,1,8,9

9

10  Es sind folgende Schlüssel gegeben bauen Sie einen Baum 5,12,3,1,8,7,15,4,3

11

12  In einem binären Suchbaum kann man Zahlen schnell finden.  Finde die

13  Wie viele Elemente (Knoten) gab es? 66  Wie viele Vergleiche mussten wir machen? 33  Wie viele müssten wir im Besten Fall machen müssen?  Wie viele im schlimmsten Fall?

14 7 wäre rechts von 5 8 ist größer, also müsste die 7 links stehen Links ist kein Weg => 7 gibt es nicht!

15  Wie viele Vergleiche mussten wir machen? 22  Wie viele müssten wir im Besten und im schlimmsten Fall machen?  Suchbaum ist effektiv beim Suchen (auch wenn die gesuchte Zahl nicht vorhanden wird)

16 Den kleinsten (bzw. größten) Schlüssel im Suchbaum findet man, indem man solange in den linken (bzw. rechten) Teilbaum absteigt, bis man nicht mehr weiterkommt.

17  Das einfachste: einen Blatt löschen.  Wenn der Knoten ein Kind hat? Z.B. die

18 Wenn der Knoten zwei Kinder hat? Z.B. die 5. Dann kommt an seiner Stelle Der rechteste Knoten von linken Teilbaum oder das linkeste Vom rechten Teilbaum

19 Wenn der Knoten zwei Kinder hat? Z.B. die 5. Dann kommt an seiner Stelle Der rechteste Knoten von linken Teilbaum oder das linkeste Vom rechten Teilbaum

20 Wenn der Knoten zwei Kinder hat? Z.B. die 5. Dann kommt an seiner Stelle Der rechteste Knoten von linken Teilbaum oder das linkeste Vom rechten Teilbaum

21  Es sind folgende Schlüssel gegeben bauen Sie einen Baum 8,5,3, Was fällt Dir auf?

22 Auch dieser nicht

23 wenn für jeden Knoten gilt: Die Höhe seines linken und rechten Teilbaums unterscheidet sich höchstens um 1.

24

25 Wie hoch wird der Baum bei 255 Elementen? Anzahl Ebenen Anzahl der Elemente Anzahl der Ebenen ist log 2 (255+1). 2 8 = 256 Anzahl der Ebenen ist 8

26 Wie hoch wird der Baum bei 9 Elementen? = = 16 log 2 (9+1) = 3,.. => Drei Ebenen voll und die 4. Ebene wurde angefangen

27 Die Höhe des balancierten Baumes bei n Elementen: log 2 (n+1) nach oben gerundet

28 Alle Levels sind vollständig besetzt (bis auf die unterste Schicht). Höhe des Baumes log 2 (n+1). Dies ist die minimale Höhe für alle Suchbäume: => Optimaler Zeitaufwand für Suche

29 Zeitaufwand für Suche O(log n) bis zu den Blättern kommen. Der Zeitaufwand entspricht der Höhe des Baumes => log 2 (n+1) Es ist deutlich effektiver als in einem Array! Suchbäume werden in der Praxis oft genutzt beim Wörterbuch, oder Suche beim Google…

30 Füge in einen Baum folgende Knoten ein 6,1,9,8,4,3,7,11,2 Stelle dar, wie die 7 gesucht wird Entferne die 2,4 und 6

31  https://www.youtube.com/watch?v=xfhfRAccL2w

32 PRE-ORDER V-L-R = POST-ORDER L-R-V = IN-ORDER L-V-R =

33 PRE-ORDER V-L-R = POST-ORDER L-R-V = IN-ORDER L-V-R =

34 Der folgende Schlüssel enthält: 12,5,3,1,8,7,15,4 Zahlen zuerst sortieren1,3,4,5,7,8,12,15 Diese Reihenfolge muss dem IN-ORDER entsprechen. Danach einen balancierten Baum zeichnen. Dann mit Zahlen füllen.

35 Idee Die zu sortierende Elemente werden einfach in einem binären Suchbaumgespeichert. Um die Elemente in einer sortierten Reihenfolge zu erhalten, muss der Baum nur inorder traversiert werden.

36  Beim Einfügen eines Elements muss im Suchbaum sein Platz gefunden werden. Suchen benötigt O(log n) Zeit.  Für n Elemente wären das insgesamt O(n log n) Zeit.  Die Inorder-Traversierung benötigt nur O(n).  Die Gesamtlaufzeit beträgt somit O(n log n).


Herunterladen ppt "2 Baum Wurzel Knoten ohne Vorgänger Knoten beinhalten Daten z.B. Zahlen Innerer Knoten Kein Blatt Blatt Knoten ohne Nachfolger Ast Kante."

Ähnliche Präsentationen


Google-Anzeigen