RWTH Aachen Computer Science i5/dbis assets for Lecture Datenbanken und Informationssysteme
Project description
Dokumentation zur Nutzung des B-Baum
In der Vorlesung haben Sie B-Bäume kennengelernt.
Dieses Blatt gibt einen kurzen Überblick über ein von uns entwickeltes Python-Tool.
Im DBIS Image des Jupyter Hub der RWTH ist dieses Package bereits integriert, falls Sie das Tool lokal benutzen möchten, können Sie diese über den folgenden Befehl installieren:
pip install dbis-btree
# in jupyter notebooks:
!pip install dbis-btree
Die folgende Zelle importiert das Python Modul und ermöglicht dessen Nutzung innerhalb des Notebooks:
from dbis_btree.BBaum import BTree
B-Baum als Objekt
Als erstes müssen Sie eine neue Instanz der Klasse BTree
erzeugen. Diesem Objekt werden im weiteren Verlauf Knoten nodes
und Kanten edges
hinzugefügt.
Geben Sie die M
-Value für den B-Baum an.
# zum Beispiel M = 4
M = 4
bbaum = BTree(4)
# anzeigen des noch leeren bbaums:
bbaum.draw()
Knoten
Neue Knoten zum Baum hinzufügen: add_node(name, elements)
Geben sie dem Knoten einen eindeutigen Namen und die Zahlen, die im Knoten sich befinden sollen.
Wenn im Graph schon der Knoten mit diesem Namen existiert, kommt der Fehler:
AssertionError: Bitte nutze einen anderen Name für diese Node.
Konstruktor einer Relation:
name
: String - Eindeutiger Name des Knotenelements
: Int Liste - Liste aus Int
bbaum = BTree(4)
# hinzufügen Knoten A
name = "A"
elements = [10,20]
bbaum.add_node(name, elements)
# hinzufügen Knoten B
bbaum.add_node("B", [1,2])
# nicht vergessen, den baum anzuzeigen:
bbaum.draw()
Kanten
Neue Knoten zum Baum hinzufügen: add_edge(parent, child, n_child):
Dies fügt im Baum eine Kante vom parent
-Knoten zum child
-Knoten, an der der n_child
-ten Stelle im parent
-Knoten.
Konstruktor einer Relation:
name
: String - Eindeutiger Name des Parent Knotenchild
: String - Eindeutiger Name des Child Knotenn_child
: Int - Position im Parent Knoten.
bbaum = BTree(4)
# hinzufügen Knoten A
name = "A"
elements = [10,20]
bbaum.add_node(name, elements)
# hinzufügen Knoten B
bbaum.add_node("B", [1,2])
# hinzufügen einer Kante an 1st Stelle
positionImParentNode = 1
bbaum.add_edge("A", "B", positionImParentNode)
# nicht vergessen, den baum anzuzeigen:
bbaum.draw()
Häufige Fehler und Warnungen
Warning: node A, port f5 unrecognized
bedeutet, dass eine falsche Zahl beim Parameter n_child
genutzt wurde.
add_edge(parent, child, n_child):
In unserem Fall wurde dieser Fehler wurde ausgelöst, als eine Kante an Stelle 5 in Knoten A hinzugefügt wurde. Jedoch besaß A nur insgesamt Stellen 1 bis 4 um Kanten hinzuzufügen.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dbis_btree-1.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a89b26383941ee00c5e685987fa5ea4c402bb31621776b95f9209dd0db2f42f6 |
|
MD5 | e2b4d399484d94b3795c8923c50104ce |
|
BLAKE2b-256 | 2a58f4131dffa50e4508573b6a296f25263753b9c1f26871fc0a0d03233c85a6 |