FB18 - Das Forum für Informatik

fb18.de / Bachelorstudieng / PM Praktische Informatik

GDB-Blatt6 ::: B-Baum

GDB-Blatt6 ::: B-Baum 2010-01-16 13:30
Baum
Hey hey. Ich hätte eine kurze Frage an euch - sie ist simpel, aber irgendwie kann ich nichts eindeutiges aus meinen Unterlagen herauslesen.

Es geht um B-Bäume mit Splitfaktor 1.

Es wird also gesplittet, sobald es einen Überlauf gibt. Meine Frage ist jetzt - findet ein Überlauf statt, wenn ein Knoten voll geworden ist oder wenn er voll war und noch ein Wert eingetragen werden soll?

Also heisst Splitfaktor 1, dass man splittet sobald ein Knoten voll wird oder dass man erst splittet, wenn in einen vollen Knoten noch etwas eingefügt werden soll?

RE: GDB-Blatt6 ::: B-Baum 2010-01-16 15:14
Anonymer User
Und noch eine Frage hinterher:

Mischen oder Ausgleichen, wie entscheidet sich das? Frei Schnauze?

RE: GDB-Blatt6 ::: B-Baum 2010-01-16 15:43
tein
findet ein Überlauf statt, wenn ein Knoten voll geworden ist oder wenn er voll war und noch ein Wert eingetragen werden soll?
Letzteres.

Mischen oder Ausgleichen, wie entscheidet sich das? Frei Schnauze?
Ja. Oft wird sich ja ein Verfahren als weniger aufwändig anbieten, denke ich.

RE: GDB-Blatt6 ::: B-Baum 2010-01-16 16:17
Baum
Danke! Habe es glücklicherweise auch so gemacht. :)

Wenn jemand auch etwas besser durchblicken möchte:

http://ats.oka.nu/b-tree.cpanel.en.html

RE: GDB-Blatt6 ::: B-Baum 2010-01-16 17:20
Anonymer User
Schon jemand das Löschen bei dem B*-Baum gemacht?

Bei löschen 11 und 1 kommt es bei mir in eine verdammt verzwickte Situation. o.O
Weiss nicht so recht wie das aufgelöst werden soll.

RE: GDB-Blatt6 ::: B-Baum 2010-01-16 18:08
ElFitz
Schon jemand das Löschen bei dem B*-Baum gemacht?

Bei löschen 11 und 1 kommt es bei mir in eine verdammt verzwickte Situation. o.O
Weiss nicht so recht wie das aufgelöst werden soll.

Die 11 habe ich gelöscht und den Baum ausgeglichen.
Bei der 1 habe ich gemischt, indem ich die Wurzel nochmal gesplittet hab. Ich weiß aber auch nicht, ob das wirklich richtig ist.

RE: GDB-Blatt6 ::: B-Baum 2010-01-19 13:27
korelstar
Mischen oder Ausgleichen, wie entscheidet sich das? Frei Schnauze?

Frei Schnauze ist nicht immer möglich:

Ausgleichen ist nur möglich, wenn der linke oder der rechte Nachbar mehr als k Elemente besitzt, da nach dem Ausgleichen in beiden Knoten weiterhin jeweils mindestens k Elemente enthalten sein müssen.

Mischen ist nur dann möglich, wenn der linke oder der rechte Nachbar genau k Elemente besitzt, da der neue Knoten nur maximal 2k Elemente besitzen darf.

Aussuchen kann man sich die Methode also nur, wenn es überhaupt zwei Nachbarn gibt und einer davon genau k Elemente und der andere mehr als k Elemente besitzt. In diesem Fall empfiehlt sich das Ausgleichen, da es weniger Aufwand macht.

RE: GDB-Blatt6 ::: B-Baum 2010-01-19 18:25
Anonymer User
Hmmm, danke. Werde ich nochmal drübergehen müssen.

RE: GDB-Blatt6 ::: B-Baum 2010-01-22 12:31
Anonymer User
Die Aufgabe ist schon längst vorbei, aber ich habe noch etwas interessantes gefunden ;-)
Besonders die Erklährungen sind deutlich ausführlicher als in "unserem" Skript. Es lohnt sich auf jeden Fall mal einen Blick drauf zu werfen:
Ein sonderbar ausführliches Skript zu Bäumen

RE: GDB-Blatt6 ::: B-Baum 2010-01-22 19:36
korelstar
Die Aufgabe ist schon längst vorbei, aber ich habe noch etwas interessantes gefunden ;-)
Besonders die Erklährungen sind deutlich ausführlicher als in "unserem" Skript. Es lohnt sich auf jeden Fall mal einen Blick drauf zu werfen:
Ein sonderbar ausführliches Skript zu Bäumen
Deswegen ist dieses Dokument ja auch auf der GDB-Website verlinkt [22]