Binäre Bäume

Werbung
Binäre Bäume
Tree 1: Berechne Knoten- und Blattzahl, sowie die mittlere Weglänge bei einem
vollständigen Binärbaum der Höhe h = 4, 5, 6, 10, 20.
Tree 2: Gib die Strukturbäume an
1 + 2*3 –4
1 * 2 + 3 / 4
(a+b) – (c+d)
((a+b)*c –d)*e
1 * (2 + 3) / 4
Tree 3: Erstelle für folgende Terme den Strukturbaum und gib den Term in Postfixnotation
an:
a) a*(b+c) – d
b) 3* a + c/ 5
c) a * b + c
- d
d) a * b +( c - d)
e) (a - c) / (e - 11)
f) ((a + b) /c)*(d – e*f)
g) ((a + b) /c) * (d - e + f)
Tree 4:
Erstelle vollständig ausgeglichene Bäume mit n = 5, 6, 7, 8, 9, 11 Knoten.
Fülle einen vollständig ausgeglichenen Baum mit n Knoten gemäß Inorder mit den Zahlen 1
bis n: Gib die Knotenreihenfolge für die Traversierungsarten Preorder und Postorder an: n= 7
( n= 9)
Tree 5:
1.
Erstelle "von Hand" einen vollständig ausgeglichenen binären Baum derart, dass bei
Preorder-Traversierung das Wort ALGORITHMUS gelesen wird.
2.
Schreibe die Besuchsreihenfolge bei Inorder- und Postorder-Traversierung auf.
3.
Bei Postorder-Traversierung eines Baumes wird das Wort POSTORDER ausgegeben.
Gib den Baum an.
Tree 6: Gib die Strukturbäume an
( a + b*c )*d
(( a+ b ) /c )*(d - e * f)
(( a + b) + c) +d
a*(b+c) - d
Welche Ausgaben liefert ein Postorderdurchlauf?
Suchbäume
Füge in einen leeren Suchbaum ein: S E A1 R C H
Füge hinzu: Z, T, A2. (A1 ist kleiner als A2)
Warum befindet sich der zweite Schlüsselwert A2 nicht in direkter Nachbarschaft des ersten
Schlüsselwertes A1?
Aufgaben NF 11; Seite 8
Suchbäume (Fortsetzung)
Welche Traversierungsart ist zu wählen, damit die Knoten des Suchbaums in sortierter
Reihenfolge ausgelesen werden?
Zeichne den binären Suchbaum, der entsteht, wenn in einen leeren Baum die Buchstaben des
Wortes I1NFORMATI2K (ABER, E1XAMPLE2) eingefügt werden.
Wovon hängt die Laufzeit bei der Suche nach einem Knoten ab?
Füge in einen leeren Suchbaum die Buchstaben A1SEA2RCHA3TF ein.
Traversierung (1)
Traversierung (2)
Welche Besuchsreihenfolge ergibt sich bei den
drei Traversierungsarten?
a
Der Baum wurde mittels eines
Preorderdurchlaufs erzeugt.
Gib die Reihenfolge der Wertzuweisungen an die Knoten an.
5
c
b
e
d
2
Traversiere den Baum gemäß
Postorder.
7
3
6
4
f
g
8
Belege die Knoten des obigen
Baums so mit Buchstaben, dass
beim Inorderdurchlauf das Wort
kubuntu gelesen wird.
1
Fülle einen vollständig ausgeglichenen Baum (Inorder) mit folgenden Zahlen so, dass ein
Suchbaum entsteht.
1
6
10
15
17
23
30
41
56
81
1
2
3
4
5
6
7
8
9
10
6
10
17
23
41
56
81
93
95
99
100
Schreibe jeweils die Besuchsreihenfolge der Knoten bei Preorder- und Postorder-Traversierung
auf.
Aufgabe
4
Welche der Bäume sind (a) vollständig,
(b) vollständig ausgeglichen,
(c) Suchbäume ?
4
5
2
1
23
3
2
10
16
6
1
3
7
3
1
20
4
5
9
19
2
8
1
3
Aufgaben NF 11; Seite 9
21
Suchbaum mit den Knoteninhalten
6 10 17 23 41 56 81 93 95 99
56
Zeichne jeweils den neuen Baum
Löschen von 17; Einfügen von 18;
Löschen von 93; Löschen von 41;
Löschen von 95; Einfügen von 92;
Löschen von 56; Einfügen von 100;
Löschen von 99; Einfügen von 98
17
10
6
95
93
41
23
81
Aufgabe: Beim Löschen soll der Baum ein Suchbaum bleiben!
Aufgaben NF 11; Seite 10
99
Aufgabe
Schreibe folgende Methoden
int knotenzahl (BinBaum b)
Ermittelt die Knotenzahl im Baum b.
boolean istBlatt (BinBaum b)
Ermittelt, ob Knoten mit Referenz b ein Blatt ist
int innereKnoten(BinBaum b)
Zählt die inneren Knoten.
int blattKnoten(BinBaum b)
Zählt die Blätter.
boolean istAusgeglichen(BinBaum b)
Stellt fest, ob ein binärer Baum vollständig ausgeglichen ist.
Aufgaben NF 11; Seite 11
Herunterladen