Vorteil von B-Bäumen?

3 Antworten

https://de.wikipedia.org/wiki/B-Baum

B für Bayer oder Balanced. Haben idR Regel nicht nur 2 nachfolgende Bäume.

Zur Zeit als das Ding erfunden wurde, gab es wenig Hauptspeicher, d.h. es konnte immer nur in relativ kleiner Teil im Speicher gehalten werden und Zugriffe auf Massenspeicher waren seehhr langsam. Der B-Baum hat relativ viel Info in den einzelnen Knoten und minimiert die Plattenzugriffe. Dabei ist er immer ausbalanciert.

Hallo!

Sind B-Bäume nicht dasseleb wie Binärbäume (jeder Knoten hat bis zu zwei Fortsetzungen)?

Gruß


Dyrdek 
Beitragsersteller
 22.06.2016, 22:42

Jap das weis ich, bzw. nein sind sie nicht :) Binärbäume haben nur zwei Kindknoten pro Knoten. B-Bäume können mehr haben. Ich frag mich nur sind B-Bäume dadurch effizienter? oder wo liegt der Vorteil?

0
verreisterNutzer  22.06.2016, 22:44
@Dyrdek

Du frägst  doch wieder dasselbe -- B-Bäume sind nicht effizienter wie binäre Bäume, weil sie das gleiche sind

0
Dyrdek 
Beitragsersteller
 22.06.2016, 22:50
@verreisterNutzer

Nein sind sie nicht^^ Also hab jetzt schon ne weile gesucht im Internet und das ist nicht das gleiche :D

0
Dyrdek 
Beitragsersteller
 22.06.2016, 22:57
@verreisterNutzer

Also mein Wissen soweit: Binärbäume haben pro Knoten max. 2 Unterknoten (Mehr sind nicht erlaubt). B-Bäume sind eine Erweiterung von Binärbäumen. Hier sind pro Knoten mehrere Unterknoten erlaubt. P.S. Ein B-Baum KANN ein Binärbaum sein, wenn er pro Knoten nur max. 2 Unterknoten hat. :)

0
verreisterNutzer  23.06.2016, 09:01
@Dyrdek

Ok, wenn das so ist, dann ist ein Binärbaum in der Anwendung besser, da er pro Knoten nur 2 Entscheidungen fällen muss (ja/nein).

Dafür ist er im Aufbau (Entstehen, Daten einfügen usw) etwas aufwendiger, da dafür gesorgt werden muss, das immer nur max. zwei Unterknoten da sind.

Gruß

0

Der Vorteil ist, dass B-Bäume geeignet sind, auf Plattenspeicher zu laufen. Normale Binärbäume würden viel mehr Plattenoperationen nach sich ziehen.


Dyrdek 
Beitragsersteller
 22.06.2016, 22:58

Ok danke :) hab das mit dem Plattenspeicher schon ein paar mal gelesen aber leider noch nich ganz verstanden wieso genau das so ist. Vielleicht hast du kurz Zeit das zu erläutern. Aber schonmal vielen Dank für die Info ;)

0
W00dp3ckr  23.06.2016, 07:59
@Dyrdek

Jeder Zeiger entspricht einem Seek auf der Platte. Im B Baum gibt es eine Kombi von arrays und zeigern. Daher flachere Bäume und weniger Seeks.

0