Einzelnen Beitrag anzeigen

MaToBe

Registriert seit: 2. Aug 2008
162 Beiträge
 
#4

AW: Sortiertet Baum in Java

  Alt 30. Apr 2011, 18:06
Code:
 if(isLeafLevel){
         //insert into leaf
         //TODO: complete code
         insert(index, new SortedTreeLeaf(key, value));
      }
Damit wird ein neues Blatt mit Key und Value erstellt und an dem Index eingefügt. Aber welche insert-Methode rufst du hier auf? Die 2te Methode verlangt doch einen SortedTree und kein SortedTreeLeaf oder?

Code:
insert(index, node);
Das selbe hier, wo ist den die Insert-Methode, der ich eine node mitgeben kann?
Keine Kritik, ich verstehs nur nicht.

Des weiteren habe ich dies noch in der Aufgabe gefunden, denke das ist für das Splitten wichtig:
Zitat:
Knoten verweisen auf Kind‐Knoten/Blätter in einem bestimmten Wertebereich und haben einen maximalen Füllgrad (Anzahl Kind-Knoten)
Mein Vorschlag sieht so aus:
Code:
public void insert(Integer key, String value){
      if(key<this.key)
         this.key = key;
      
      int index = this.search(key);
      
      if(isLeafLevel){
         //insert into leaf
         //TODO: complete code
         insert(index, new SortedTreeLeaf(key, value));
      }
      else{
         //insert into node
         //TODO: complete code
         SortedTreeNode node = new SortedTreeNode(this.isLeafLevel);
         node.key = key;
         index = this.search(node.key);
         insert(index, new SortedTreeLeaf(key, value);
         //split if needed
         if(node.isFull()){
            //TODO: complete code
         }
      }
   }

Geändert von MaToBe (30. Apr 2011 um 18:14 Uhr)
  Mit Zitat antworten Zitat