next up previous contents index
Nächste Seite: Geschwindigkeitstest Aufwärts: Testen des Programms Vorherige Seite: Testen des Programms   Inhalt   Index

Test der Klasse rbtree.java durch draw()

    public void draw() {

        AVLDraw(root,5);

    }

 

 

    private void KDraw (rbelement e,int t) {

        String s = new String();

        if (e!=NIL) {

            KDraw(e.right,t+1);

            for (int i=0;i<(t*4+1);i++)

                s=s+" ";

            System.out.println(" "+s+tiefe(e)+e.color+": "+e.searchkey);

            KDraw(e.left,t+1);

        }

    }

    

        private int tiefe(rbelement e) {

        

        if ( e==NIL ) {

            return 0;

            }

        else {

            if ( tiefe(e.left) >= tiefe(e.right) )

                return tiefe(e.left)+1;

            else 

                return tiefe(e.right)+1;

 

        }

    }

Diese Methoden befinden sich ausschliesslich zu Debugging-Zwecken in der Rot-Schwarz Baum Klasse. Diese Methoden sind nicht effizient implementiert. Die Methode tiefe bestimmt zu einem Knoten e die zugehoerige Tiefe. Die Methode KDraw gibt den Teilbaum, dessen Wurzel e ist, aus. Zu jedem Knoten wird der Suchschluessel, die Tiefe und die Farbe als Boolean-Wert ausgegeben.

Der Baum wird von links nach rechts ausgegeben. Aus einer Bildschirmzeile steht ein Knoten. Die erste Zahl ist die Tiefe, als zweites steht die Farbe (false entspricht rot, true entspricht schwarz). Die letzte Zahl einer Zeile ist der Suchschluessel. Die Ausgabe fuer einen Rot-Schwarz Baum mit 15 Zufallselementen sieht so aus:

                                  1 false: 9391

                              2 true: 8193

                          3 true: 8054

                                  1 false: 7350

                              2 true: 6832

                                  1 false: 5352

                      5 true: 5072

                                      1 false: 5055

                                  2 true: 3707

                                      1 false: 2295

                              3 false: 722

                                  1 true: 515

                          4 true: 260

                              2 true: 230

                                  1 false: 108

Nachdem der Index 5352 geloescht wurde, sieht der Baum so aus:

 

                                  1 false: 9391

                              2 true: 8193

                          3 true: 8054

                                  1 false: 7350

                              2 true: 6832

                      5 true: 5072

                                      1 false: 5055

                                  2 true: 3707

                                      1 false: 2295

                              3 false: 722

                                  1 true: 515

                          4 true: 260

                              2 true: 230

                                  1 false: 108


next up previous contents index
Nächste Seite: Geschwindigkeitstest Aufwärts: Testen des Programms Vorherige Seite: Testen des Programms   Inhalt   Index
root 2000-01-25