B-tree remove 1.2

AnnaW
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 29. Jul 2012 23:05

B-tree remove 1.2

Beitrag von AnnaW »

Hallo,

ich habe ein Verständnisproblem bei der 1.2.

Für die 1.1 habe ich doch z.B. ein Blatt mit den Einträgen "6 7 8 _ _" wenn ich jetzt die 7 löschen möchte, steht in dem Blatt nachher noch "6 8 _ _ _". Was will jetzt aber die 1.2 von mir? Der Key wurde schon gesehen - der Key befindet sich aber trotzdem in einem Blatt, oder? Und mit welchem Wert erste ich den? Ich verstehe leider nicht, worauf \(p.keys\left[p.n\right]\) zeigt.

Viele Grüße

Anna

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: B-tree remove 1.2

Beitrag von JannikV »

Hallo,

in diesem Fall befindet sich der Key nicht in einem Blatt sondern wurde vorher schon gesehen. Dann hat man sich mit p' gemerkt wo.
p ist schon beim Blatt angekommen, aus dem ein Wert entnommen wird, um K aus p' zu ersetzen. Der Wert aus p der zum Ersetzen benutzt wird ist der größe aus diesem Blatt, also an der Stelle p.keys[p.n].

VG

AnnaW
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 29. Jul 2012 23:05

Re: B-tree remove 1.2

Beitrag von AnnaW »

Ahhh, also wäre das in dem Fall wenn ich aus dem gegebenen Beispiel die 75 löschen möchte und sie mit der 72 ersetzen würde? Dann zeigt mein p.keys[p.n] auch auf die 72? Weil ich bin mir schon nicht sicher, was p.keys[p.n] beschreibt.

Viele Grüße

Anna

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: B-tree remove 1.2

Beitrag von JannikV »

Ja zum Beispiel.

Also p ist ja eine Referenz auf einen B-Tree-Knoten. keys ist das darin enthaltene Array welches die Elemente speichert. Und n ein Attribut des Knotens, das angibt wie viele Elemente es gibt. Zum Beispiel 2. Jetzt heißt p.keys[p.n] dass ich aus dem Knoten p den Key mit der Nummer p.n haben möchte, also den letzten, da n ja die Anzahl der Elemente im Knoten angibt.

VG

AnnaW
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 29. Jul 2012 23:05

Re: B-tree remove 1.2

Beitrag von AnnaW »

Alles klar, danke schön :-)

Antworten

Zurück zu „Archiv“