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
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dbis_btree-1.0.6.tar.gz.
File metadata
- Download URL: dbis_btree-1.0.6.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b9ddbdc62b7681a97b3ed2875f067db7332bc8669a2a11f0ab16869bddd7aaf
|
|
| MD5 |
73d3c214755e653b3cc42c6b3094ddb8
|
|
| BLAKE2b-256 |
eed36373328be1e8608606846b1e5739517f1325d85d8fa8ecc8a498ae75f4fe
|
File details
Details for the file dbis_btree-1.0.6-py3-none-any.whl.
File metadata
- Download URL: dbis_btree-1.0.6-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f287311fdf0e512d85f2ff88f82c395e75e1199e4587dd7f1d41fa227c51b7a
|
|
| MD5 |
93c9804ffdb1a0fa40d27285e19f9bf6
|
|
| BLAKE2b-256 |
101ca0af7ea1a72f996e5df163ac7a8607180948b256c8be9dc952b2afce1bcb
|