Es scheint mir, dass eine Möglichkeit zum Speichern von Daten in einem B-Baum als Datei effizient mit C unter Verwendung einer Binärdatei mit einer Sequenz (Array) von Strukturen, wobei jede Struktur einen Knoten darstellt. Man kann somit die einzelnen Knoten mit einem Ansatz verbinden, der dem Erstellen von verknüpften Listen unter Verwendung von Arrays ähnlich ist. Aber das Problem, das sich aufstützt, wäre das Löschen eines Knotens, da das Löschen von nur wenigen Bytes in der Mitte einer riesigen Datei nicht möglich ist.C/C++: Wie man Daten in einer Datei in B-Baum speichert
Eine Möglichkeit zum Löschen könnte darin bestehen, "leere" Knoten zu verfolgen, bis eine Schwellenwertgrenze erreicht ist, und dann eine weitere Datei zu erstellen, die die leeren Knoten verwerfen soll. Aber das ist mühsam.
Gibt es einen besseren Ansatz aus Sicht der Einfachheit/Effizienz zum Löschen oder gar Darstellen eines B-Baums in einer Datei?
TIA, -Sviiya
Nur um klar zu sein, fragen Sie über B-Bäume oder Binärbäume. –
B-Bäume. Aber ich denke, für den Zweck, als Dateien zu speichern, wäre das Problem das gleiche? – user203405
BTW, C und C++ sind zwei verschiedene Sprachen. Wenn Sie Code schreiben, der für beide funktioniert, fügen Sie das C++ - Tag hinzu. –