Institut für Kartographie und Geoinformation Diskrete Mathematik I Vorlesung 8 02.12.99 -Binärer Suchbaum II-

Post on 06-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Institut für Kartographie und Geoinformation

Diskrete Mathematik IVorlesung 8

02.12.99

-Binärer Suchbaum II-

2

Übersicht

• Binärer Suchbaum– Suchen von Knoten– Löschen von Knoten (Wurzel)– Durchlaufstrategien

• Preorder• Breitendurchlauf

3

Binärer Suchbaum

• Ein binärer Baum B ist ein binärer Suchbaum, falls er leer ist oder die folgenden Eigenschaften erfüllt sind:

– die beiden Unterbäume sind binäre Suchbäume– die Beschriftungen der Knoten des linken Suchbaums sind

kleiner als die Beschriftung der Wurzel– die Beschriftungen des rechten Suchbaums sind größer als

die Beschriftung der Wurzel

n

<n >n

4

Suchen von Knoten

Suche einer Zahl k in einem binären Suchbaum B

• B ist leer– k kann nicht im Baum sein.

• B ist nicht leer– B.wert = k : k ist gefunden, d.h. bereits in B vorhanden.– B.wert < k : Suche im rechten Unterbaum von B.– B.wert > k : Suche im linken Unterbaum von B.

5

Löschen von Knoten (Wurzel)

149

10

16

13 15

• Rechter Unterbaum ist unbesetzt

6

Löschen von Knoten (Wurzel)

• Rechter Unterbaum ist unbesetzt

Unterbaum bildeteinen

binären Baum

149

10

13 15

7

Löschen von Knoten (Wurzel)

18149

10 24

16

13 15

• Beide Unterbäume sind besetzt

8

Löschen von Knoten (Wurzel)

• Beide Unterbäume sind besetzt

Suchbaum zerfällt inzwei disjunkte Bäume

Es muß eine neuer Knoten, der dieWurzel bildet, gefunden werden.

149

10

13 15

18

24

9

Löschen von Knoten (Wurzel)

18149

10 24

16

13 15

• Beide Unterbäume sind besetzt

Kriterien:Der Knoten muß größer sein, als die Wurzel des linken Unterbaums.

Der Knoten muß kleiner sein als die Wurzel des rechten Unterbaums.

10

Löschen von Knoten (Wurzel)

18149

10 24

16

13 15

• Beide Unterbäume sind besetzt

Kandidaten

11

Löschen von Knoten (Wurzel)

18149

10 24

15

13

• Beide Unterbäume sind besetzt

12

Durchlaufstrategien

• Preorder– Die Wurzel wird vor den Unterbäumen besucht,

die Unterbäume werden von links nach rechts abgearbeitet

• Breitendurchlauf– Mit einem Knoten werden seine Nachbarn

von links nach rechts besucht

13

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

14

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16

15

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16, 10

16

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16, 10, 9

17

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16, 10, 9, 14

18

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16, 10, 9, 14, 13

19

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16, 10, 9, 14, 13, 15

20

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16, 10, 9, 14, 13, 15, 24

21

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16, 10, 9, 14, 13, 15, 24, 18

22

Durchlaufstrategie: Preorder

18149

10 24

16

13 15

16, 10, 9, 14, 13, 15, 24, 18

23

Durchlaufstrategie: Preorder

void PreOrder() { PreOrder(wurzel);}private void PreOrder(Knoten aktuell) { if (aktuell != null) { System.out.println(aktuell.GibWert()); PreOrder(aktuell.GibLinks()); PreOrder(aktuell.GibRechts()); }}

Schönen Dank für Ihre Aufmerksamkeit und

Auf Wiedersehen

top related