# B-Baum



## mistirios (16. Oktober 2007)

Hi,

hab vor ein B-Baum zu implementieren. Die Theorie sitzt soweit, aber ich weiss trotzdem nicht,wie ich das in die Praxis umsetzen kann. Ich wäre euch sehr dankbar, wenn mir mal einer eine Implementation schicken könnte oder ein Link, wo ich codebeispiele downloaden kann. So als Gedankenstoss, wie ich an sowas rangehen kann.

gruss
mistirios


----------



## zeja (16. Oktober 2007)

Na einfach mal eine Suchmaschine benutzen liefert doch schon ganz viele Beispiele.


----------



## mistirios (16. Oktober 2007)

Jo aber nix brauchbares.. Kannst ja mal die urls posten die du findest.. also ich kann nicht wirklich brauchbares finden..

gruss
mistirios


----------



## zeja (16. Oktober 2007)

Mit dieser Suche
http://www.google.de/search?hl=de&c...fficial&hs=OZW&q=b-baum+java&btnG=Suche&meta=

finde ich z.B.
http://wwwai.wu-wien.ac.at/~koch/lehre/inf-sem-ss-01/pinterits/source.html 
mit einem Haufen Sourcecode.

Und unter Wikipedia findet man auch Links und Pseudocode:
http://de.wikipedia.org/wiki/B-Baum


----------



## mistirios (16. Oktober 2007)

Hi,



> finde ich z.B.
> http://wwwai.wu-wien.ac.at/~koch/leh...ts/source.html
> mit einem Haufen Sourcecode.



Was hat das mit B-Baum zu tun?

Denkst du ich hab vorher keine google-suche etc. gemacht? Wenn ich was brauchbares gefunden hätte, wäre bestimmt nicht der Post hier zustande gekommen.

gruss
mistirios


----------



## zeja (16. Oktober 2007)

Nachdem ich den Link recht hilfreich finde solltest du den auch hilfreich finden und einfach mal schauen ob du den Code dort zum laufen kriegst, ihn dann verstehen und dann entsprechend selber anpassen.


----------



## mistirios (16. Oktober 2007)

B-Baum und binärer Baum ist was ganz verschiedenens 

gruss
mistirios


----------



## zeja (16. Oktober 2007)

Was nichts daran ändert dass das Beispiel zeigt wie man einen Baum in Java realisieren kann.


----------



## fluessig (16. Oktober 2007)

Zeja hat schon recht. Das Beispiel zeigt dir eigentlich den Weg, wie du die Klassen gestalten kannst - also sind die Datenstrukturen schon klar. Jetzt fehlen nur noch die Methoden in den Klassen und da fasst der Wikipedia Artikel alles schön zusammen.

Also, vielleicht kannst du nochmal schreiben, was dir nicht klar ist.

(Wenn es sich um eine Hausaufgabe für dein Informatikstudium handeln sollte, wird dir hier auch geholfen, aber selber Hand anlegen ist auf tutorials.de die oberste Direktive)


----------



## mistirios (20. Oktober 2007)

Hi,

so ich hab mich jetzt mal damit beschäftigt. Nur ich weiss halt nicht,wie ich beim Teilen des Knotens, die Mitte in den oberen Knoten bekomme. Sprich wie das programmiertechnisch das teilen des Knotens zu schaffen ist. Kann mir da einer weiterhelfen?

gruss
mistirios


----------



## fluessig (21. Oktober 2007)

Ich weiss leider gar nicht genau was ich noch dazu schreiben soll, ausser was ohnehin unter Wikipedia bei Einfügen letzter Abschnitt steht.

Für deine Blätter/Knoten hast du eine Methode, die prüfen muss, ob der Knoten voll ist. Ist der Knoten auf den man absteigen möchte voll, so wird dieser vorsorglich aufgetrennt. Es ist wichtig, dass ich das von oben mache, denn sonst müsste ich mir ja unten merken, welcher Knoten über mir ist. Oben schreib ich dann an die Stelle wo ich gerade absteigen wollte die Mitte auf und verschiebe die restlichen Daten des Knotens entsprechend. Unten erzeuge ich einen neuen Knoten und kopiere die Daten des alten Knotens in den ich ursprünglich einfügen wollte um.

Wenn du es noch genauer beschrieben haben willst, musst du wohl oder übel deinen Code hier posten (bitte dann in einem Code Block posten, damit man es leichter lesen kann).


----------

